6 The number of decimal digits that can be represented without losing precision
1.19209290e-07_f32 The machine epsilon (difference between 1.0 and the next representable value)
(1_f32 / 0_f32).as(Float32) 24 The number of digits that can be represented without losing precision (in base RADIX)
3.40282347e+38_f32 Largest finite value
38 The maximum possible power of 10 exponent (such that 10**MAX_10_EXP is representable)
128 The maximum possible normal power of 2 exponent
-3.40282347e+38_f32 Smallest finite value
-37 The minimum possible power of 10 exponent (such that 10**MIN_10_EXP is representable)
-125 The minimum possible normal power of 2 exponent
1.17549435e-38_f32 Smallest normal positive value, whose previous representable value is subnormal
1.0e-45_f32 Smallest representable positive value, whose previous representable value is zero
(0_f32 / 0_f32).as(Float32) 2 The radix or integer base used by the internal representation
Returns a Float32 by invoking String#to_f32 on value.
Returns a Float32 by parsing str as a hexadecimal-significand string.
Returns a Float32 by parsing str as a hexadecimal-significand string, or nil if parsing fails.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of multiplying self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of adding self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Returns the result of subtracting self and other.
Negates this value's sign.
Returns the result of division self and other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is less than or equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is equal to other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns true if self is greater than or equal to other.
Returns the absolute value of this number.
Rounds towards positive infinity.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Returns the float division of self and other.
Rounds towards negative infinity.
Checks whether this value is infinite.
Returns the least Float32 that is greater than self.
Returns the greatest Float32 that is less than self.
Rounds towards the nearest integer.
Rounds towards the nearest integer.
Returns -1 if the sign bit of this float is set, 1 otherwise.
Returns self converted to Float64.
Returns self converted to Float64.
Returns self converted to Float32.
Returns self converted to Float32.
Returns self converted to Float64.
Returns self converted to Float64.
Writes self's hexadecimal-significand representation to the given io.
Returns the hexadecimal-significand representation of self.
Returns self converted to Int32.
Returns self converted to Int32.
Returns self converted to Int128.
Returns self converted to Int128.
Returns self converted to Int16.
Returns self converted to Int16.
Returns self converted to Int32.
Returns self converted to Int32.
Returns self converted to Int64.
Returns self converted to Int64.
Returns self converted to Int8.
Returns self converted to Int8.
Prints a nicely readable and concise string representation of this object, typically intended for users, to io.
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns self converted to UInt32.
Returns self converted to UInt32.
Returns self converted to UInt128.
Returns self converted to UInt128.
Returns self converted to UInt16.
Returns self converted to UInt16.
Returns self converted to UInt32.
Returns self converted to UInt32.
Returns self converted to UInt64.
Returns self converted to UInt64.
Returns self converted to UInt8.
Returns self converted to UInt8.
Rounds towards zero.
Float
Float
Comparable(BigDecimal)
Comparable(BigRational)
Comparable(BigInt)
Number
Number
Number
Number
Comparable(BigFloat)
Steppable
Comparable(Number)
Value
Object
Object
Object
Returns a Float32 by invoking String#to_f32 on value.
Float32.new "20" # => 20.0 Float32.new " 20 ", whitespace: false # raises ArgumentError: Invalid Float32: " 20 "
Returns a Float32 by parsing str as a hexadecimal-significand string.
The string format is defined in section 5.12.3 of IEEE 754-2008, and is the same as the %a specifier for sprintf. Unlike e.g. String#to_f, whitespace and underscores are not allowed. Non-finite values are also recognized.
Raises ArgumentError if str is not a valid hexadecimal-significand string.
Float32.parse_hexfloat("0x123.456p7") # => 37282.6875_f32
Float32.parse_hexfloat("0x1.fffffep+127") # => Float32::MAX
Float32.parse_hexfloat("-inf") # => -Float32::INFINITY
Float32.parse_hexfloat("0x1") # Invalid hexfloat: expected 'p' or 'P' (ArgumentError)
Float32.parse_hexfloat("a.bp+3") # Invalid hexfloat: expected '0' (ArgumentError) Returns a Float32 by parsing str as a hexadecimal-significand string, or nil if parsing fails.
The string format is defined in section 5.12.3 of IEEE 754-2008, and is the same as the %a specifier for sprintf. Unlike e.g. String#to_f, whitespace and underscores are not allowed. Non-finite values are also recognized.
Float32.parse_hexfloat?("0x123.456p7") # => 37282.6875_f32
Float32.parse_hexfloat?("0x1.fffffep+127") # => Float32::MAX
Float32.parse_hexfloat?("-inf") # => -Float32::INFINITY
Float32.parse_hexfloat?("0x1") # => nil
Float32.parse_hexfloat?("a.bp+3") # => nil Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Returns true if self is not equal to other or if self and other are unordered.
Negates this value's sign.
Works on signed zeros and not-a-number values as well. The negation of 0.0_f32 is -0.0_f32, and vice versa. The negation of a not-a-number value is only observable via #sign_bit.
Returns the absolute value of this number.
123.abs # => 123 -123.abs # => 123
Checks whether this value is infinite. Returns 1 if this value is positive infinity, -1 if this value is negative infinity, or nil otherwise.
Rounds towards the nearest integer. If both neighboring integers are equidistant, rounds away from zero.
Rounds towards the nearest integer. If both neighboring integers are equidistant, rounds towards the even neighbor (Banker's rounding).
Returns -1 if the sign bit of this float is set, 1 otherwise.
Unlike #sign, this works on signed zeros and not-a-numbers as well.
Returns self converted to Float64. Raises OverflowError in case of overflow.
Returns self converted to Float64. In case of overflow infinity is returned.
Returns self converted to Float32. Raises OverflowError in case of overflow.
Returns self converted to Float32. In case of overflow infinity is returned.
Returns self converted to Float64. Raises OverflowError in case of overflow.
Returns self converted to Float64. In case of overflow infinity is returned.
Writes self's hexadecimal-significand representation to the given io.
Returns the hexadecimal-significand representation of self.
The string format is defined in section 5.12.3 of IEEE 754-2008, and is the same as the %a specifier for sprintf. The integral part of the returned string is 0 if self is subnormal, otherwise 1. The fractional part contains only significant digits.
1234.0625_f32.to_hexfloat # => "0x1.3484p+10" Float32::MAX.to_hexfloat # => "0x1.fffffep+127" Float32::MIN_SUBNORMAL.to_hexfloat # => "0x0.000002p-126"
Returns self converted to Int32. Raises OverflowError in case of overflow.
Returns self converted to Int32. In case of overflow the result is undefined.
Returns self converted to Int128. Raises OverflowError in case of overflow.
Returns self converted to Int128. In case of overflow the result is undefined.
Returns self converted to Int16. Raises OverflowError in case of overflow.
Returns self converted to Int16. In case of overflow the result is undefined.
Returns self converted to Int32. Raises OverflowError in case of overflow.
Returns self converted to Int32. In case of overflow the result is undefined.
Returns self converted to Int64. Raises OverflowError in case of overflow.
Returns self converted to Int64. In case of overflow the result is undefined.
Returns self converted to Int8. Raises OverflowError in case of overflow.
Returns self converted to Int8. In case of overflow the result is undefined.
Prints a nicely readable and concise string representation of this object, typically intended for users, to io.
This method is called when an object is interpolated in a string literal:
"foo #{bar} baz" # calls bar.to_io with the builder for this string IO#<< calls this method to append an object to itself:
io << bar # calls bar.to_s(io)
Thus implementations must not interpolate self in a string literal or call io << self which both would lead to an endless loop.
Also see #inspect(IO).
Returns self converted to UInt32. Raises OverflowError in case of overflow.
Returns self converted to UInt32. In case of overflow the result is undefined.
Returns self converted to UInt128. Raises OverflowError in case of overflow.
Returns self converted to UInt128. In case of overflow the result is undefined.
Returns self converted to UInt16. Raises OverflowError in case of overflow.
Returns self converted to UInt16. In case of overflow the result is undefined.
Returns self converted to UInt32. Raises OverflowError in case of overflow.
Returns self converted to UInt32. In case of overflow the result is undefined.
Returns self converted to UInt64. Raises OverflowError in case of overflow.
Returns self converted to UInt64. In case of overflow the result is undefined.
Returns self converted to UInt8. Raises OverflowError in case of overflow.
Returns self converted to UInt8. In case of overflow the result is undefined.
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/Float32.html