argonaut

JsonDecimal

Related Doc: package argonaut

case class JsonDecimal extends JsonNumber with Product with Serializable

A JsonDecimal represents and valid JSON number as a String. Unfortunately, there is no type in the Scala standard library which can represent all valid JSON decimal numbers, since the exponent may be larger than an Int. Such a number can still be round tripped (parser to printer). We lazily parse the string to a BigDecimal or a Double on demand.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. JsonDecimal
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. JsonNumber
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  5. def asJson: Option[Json]

    Construct a JSON value that is a number.

    Construct a JSON value that is a number.

    Note: NaN, +Infinity and -Infinity are not valid json.

    Definition Classes
    JsonNumber
  6. def asJsonOrNull: Json

    Construct a JSON value that is a number.

    Construct a JSON value that is a number. Transforming NaN, +Infinity and -Infinity to jNull. This matches the behaviour of most browsers, but is a lossy operation as you can no longer distinguish between NaN and Infinity.

    Definition Classes
    JsonNumber
  7. def asJsonOrString: Json

    Construct a JSON value that is a number.

    Construct a JSON value that is a number. Transforming NaN, +Infinity and -Infinity to their string implementations.

    This is an argonaut specific transformation that allows all doubles to be encoded without losing information, but aware interoperability is unlikely without custom handling of these values. See also jNumber and jNumberOrNull.

    Definition Classes
    JsonNumber
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(that: Any): Boolean

    Definition Classes
    JsonNumber → AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Definition Classes
    JsonNumber → AnyRef → Any
  14. def isInfinity: Boolean

    Returns true iff this number wraps a Double and it is PositiveInfinity or NegativeInfinity.

    Returns true iff this number wraps a Double and it is PositiveInfinity or NegativeInfinity.

    Definition Classes
    JsonNumber
  15. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  16. def isNaN: Boolean

    Returns true iff this number wraps a Double and it is NaN.

    Returns true iff this number wraps a Double and it is NaN.

    Definition Classes
    JsonNumber
  17. def isReal: Boolean

    Returns true if this is a valid real number (ie.

    Returns true if this is a valid real number (ie. !(isNaN || isInfinity)).

    Definition Classes
    JsonNumber
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. def normalized: (BigInt, BigDecimal)

    Returns a *normalized* version of this Decimal number.

    Returns a *normalized* version of this Decimal number. Since BigDecimal cannot represent all valid JSON value exactly, due to the exponent being limited to an Int, this method let's us get a normalized number that can be used to compare for equality.

    The 1st value (BigInt) is the exponent used to scale the 2nd value (BigDecimal) back to the original value represented by this number. The 2nd BigDecimal will always either be 0 or a number with exactly 1 decimal digit to the right of the decimal point. If the 2nd value is 0, then the exponent will always be 0 as well.

  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  23. lazy val toBigDecimal: BigDecimal

    Returns this number as a BigDecimal.

    Returns this number as a BigDecimal.

    Definition Classes
    JsonDecimal → JsonNumber
  24. def toBigInt: Option[BigInt]

    Returns this number as a BigInt, only if this number is an integer.

    Returns this number as a BigInt, only if this number is an integer.

    Definition Classes
    JsonNumber
  25. def toByte: Option[Byte]

    Returns this number as a Byte, only if this number is a valid Byte.

    Returns this number as a Byte, only if this number is a valid Byte.

    Definition Classes
    JsonNumber
  26. lazy val toDouble: Double

    Converts this number to the best Double approximation to this number.

    Converts this number to the best Double approximation to this number. Anything over Double.MaxValue gets rounded to Double.PositiveInfinity and anything below Double.MinValue gets rounded to Double.NegativeInfinity.

    Definition Classes
    JsonDecimal → JsonNumber
  27. def toFloat: Float

    Converts this number to the best Float approximation to this number.

    Converts this number to the best Float approximation to this number. Anything over Float.MaxValue gets rounded to Float.PositiveInfinity and anything below Float.MinValue gets rounded to Float.NegativeInfinity.

    Definition Classes
    JsonNumber
  28. def toInt: Option[Int]

    Returns this number as a Int, only if this number is a valid Int.

    Returns this number as a Int, only if this number is a valid Int.

    Definition Classes
    JsonNumber
  29. def toLong: Option[Long]

    Returns this number as a Long, only if this number is a valid Long.

    Returns this number as a Long, only if this number is a valid Long.

    Definition Classes
    JsonDecimal → JsonNumber
  30. def toShort: Option[Short]

    Returns this number as a Short, only if this number is a valid Short.

    Returns this number as a Short, only if this number is a valid Short.

    Definition Classes
    JsonNumber
  31. def truncateToBigInt: BigInt

    Truncates the number to a BigInt.

    Truncates the number to a BigInt. Truncation means that we round the real number towards 0 to the closest BigInt.

    Definition Classes
    JsonNumber
  32. def truncateToByte: Byte

    Truncates the number to a Byte.

    Truncates the number to a Byte. Truncation means that we round the real number towards 0 to the closest, valid Byte. So, if the number is 1e99, then this will return Byte.MaxValue.

    Definition Classes
    JsonNumber
  33. def truncateToInt: Int

    Truncates the number to a Int.

    Truncates the number to a Int. Truncation means that we round the real number towards 0 to the closest, valid Int. So, if the number is 1e99, then this will return Int.MaxValue.

    Definition Classes
    JsonNumber
  34. def truncateToLong: Long

    Truncates the number to a Long.

    Truncates the number to a Long. Truncation means that we round the real number towards 0 to the closest, valid Long. So, if the number is 1e99, then this will return Long.MaxValue.

    Definition Classes
    JsonDecimal → JsonNumber
  35. def truncateToShort: Short

    Truncates the number to a Short.

    Truncates the number to a Short. Truncation means that we round the real number towards 0 to the closest, valid Short. So, if the number is 1e99, then this will return Short.MaxValue.

    Definition Classes
    JsonNumber
  36. val value: String

  37. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from JsonNumber

Inherited from AnyRef

Inherited from Any

Ungrouped