ScalaNumericAnyConversions
Conversions which present a consistent conversion interface across all the numeric types, suitable for use in value classes.
Conversions which present a consistent conversion interface across all the numeric types, suitable for use in value classes.
Value members
Abstract methods
Concrete methods
Returns true
iff this has a zero fractional part, and is within the
range of scala.Byte MinValue and MaxValue; otherwise returns false
.
Returns true
iff this has a zero fractional part, and is within the
range of scala.Byte MinValue and MaxValue; otherwise returns false
.
Returns true
iff this has a zero fractional part, and is within the
range of scala.Char MinValue and MaxValue; otherwise returns false
.
Returns true
iff this has a zero fractional part, and is within the
range of scala.Char MinValue and MaxValue; otherwise returns false
.
Returns true
iff this has a zero fractional part, and is within the
range of scala.Short MinValue and MaxValue; otherwise returns false
.
Returns true
iff this has a zero fractional part, and is within the
range of scala.Short MinValue and MaxValue; otherwise returns false
.
Returns the value of this as a scala.Byte.
Returns the value of this as a scala.Byte. This may involve rounding or truncation.
Returns the value of this as a scala.Char.
Returns the value of this as a scala.Char. This may involve rounding or truncation.
Returns the value of this as a scala.Double.
Returns the value of this as a scala.Double. This may involve rounding or truncation.
Returns the value of this as a scala.Float.
Returns the value of this as a scala.Float. This may involve rounding or truncation.
Returns the value of this as a scala.Long.
Returns the value of this as a scala.Long. This may involve rounding or truncation.
Returns the value of this as a scala.Short.
Returns the value of this as a scala.Short. This may involve rounding or truncation.
Should only be called after all known non-primitive types have been excluded.
Should only be called after all known non-primitive types have been excluded. This method won't dispatch anywhere else after checking against the primitives to avoid infinite recursion between equals and this on unknown "Number" variants.
Additionally, this should only be called if the numeric type is happy to be converted to Long, Float, and Double. If for instance a BigInt much larger than the Long range is sent here, it will claim equality with whatever Long is left in its lower 64 bits. Or a BigDecimal with more precision than Double can hold: same thing. There's no way given the interface available here to prevent this error.