pydicom.valuerep.ISfloat

class pydicom.valuerep.ISfloat(val: str | float | Decimal, validation_mode: int | None = None)[source]

Store value for an element with VR IS as float.

Stores original integer string for exact rewriting of the string originally read or stored.

Note: By the DICOM standard, IS can only be an int, however, it is not uncommon to see float IS values. This class is used if the config settings allow non-strict reading.

Generally, use IS to create IS values, this is returned instead if the value cannot be represented as an int. See IS for details of the parameters and return values.

__init__(val: str | float | Decimal, validation_mode: int | None = None) None[source]

Methods

__init__(val[, validation_mode])

as_integer_ratio()

Return integer ratio.

conjugate()

Return self, the complex conjugate of any float.

fromhex()

Create a floating-point number from a hexadecimal string.

hex()

Return a hexadecimal representation of a floating-point number.

is_integer()

Return True if the float is an integer.

Attributes

imag

the imaginary part of a complex number

real

the real part of a complex number

as_integer_ratio()

Return integer ratio.

Return a pair of integers, whose ratio is exactly equal to the original float and with a positive denominator.

Raise OverflowError on infinities and a ValueError on NaNs.

>>> (10.0).as_integer_ratio()
(10, 1)
>>> (0.0).as_integer_ratio()
(0, 1)
>>> (-.25).as_integer_ratio()
(-1, 4)
conjugate()

Return self, the complex conjugate of any float.

fromhex()

Create a floating-point number from a hexadecimal string.

>>> float.fromhex('0x1.ffffp10')
2047.984375
>>> float.fromhex('-0x1p-1074')
-5e-324
hex()

Return a hexadecimal representation of a floating-point number.

>>> (-0.1).hex()
'-0x1.999999999999ap-4'
>>> 3.14159.hex()
'0x1.921f9f01b866ep+1'
imag

the imaginary part of a complex number

is_integer()

Return True if the float is an integer.

real

the real part of a complex number