scala.math

# BigDecimal

#### object BigDecimal extends Serializable

Version

  1.1

Since

  2.7

Linear Supertypes
Serializable, java.io.Serializable, AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. BigDecimal
2. Serializable
3. Serializable
4. AnyRef
5. 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. #### object RoundingMode extends Enumeration

5. #### def apply(bd: java.math.BigDecimal): BigDecimal

   Constructs a `BigDecimal` from a `java.math.BigDecimal`.

6. #### def apply(unscaledVal: BigInt, scale: Int, mc: MathContext): BigDecimal

   Constructs a `BigDecimal` whose unscaled value is equal to that of the specified `BigInt` value.

   Constructs a `BigDecimal` whose unscaled value is equal to that of the specified `BigInt` value.

   unscaledVal

     the specified `BigInt` value

   scale

     the scale

   mc

     the precision and rounding mode for creation of this value and future operations on it

   returns

     the constructed `BigDecimal`

7. #### def apply(unscaledVal: BigInt, scale: Int): BigDecimal

   Constructs a `BigDecimal` whose unscaled value is equal to that of the specified `BigInt` value.

   Constructs a `BigDecimal` whose unscaled value is equal to that of the specified `BigInt` value.

   unscaledVal

     the specified `BigInt` value

   scale

     the scale

   returns

     the constructed `BigDecimal`

8. #### def apply(x: BigInt, mc: MathContext): BigDecimal

   Constructs a `BigDecimal` whose value is equal to that of the specified `BigInt` value, rounding if necessary.

   Constructs a `BigDecimal` whose value is equal to that of the specified `BigInt` value, rounding if necessary.

   x

     the specified `BigInt` value

   mc

     the precision and rounding mode for creation of this value and future operations on it

   returns

     the constructed `BigDecimal`

9. #### def apply(x: BigInt): BigDecimal

   Constructs a `BigDecimal` whose value is equal to that of the specified `BigInt` value.

   Constructs a `BigDecimal` whose value is equal to that of the specified `BigInt` value.

   x

     the specified `BigInt` value

   returns

     the constructed `BigDecimal`

10. #### def apply(x: String, mc: MathContext): BigDecimal

    Translates the decimal String representation of a `BigDecimal` into a `BigDecimal`, rounding if necessary.

11. #### def apply(x: String): BigDecimal

    Translates the decimal String representation of a `BigDecimal` into a `BigDecimal`.

12. #### def apply(x: Array[Char], mc: MathContext): BigDecimal

    Translates a character array representation of a `BigDecimal` into a `BigDecimal`, rounding if necessary.

13. #### def apply(x: Array[Char]): BigDecimal

    Translates a character array representation of a `BigDecimal` into a `BigDecimal`.

14. #### def apply(d: Double, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified double value, but rounded if necessary.

    Constructs a `BigDecimal` whose value is equal to that of the specified double value, but rounded if necessary. Equivalent to `BigDecimal.decimal`.

    d

      the specified `Double` value

    mc

      the precision and rounding mode for creation of this value and future operations on it

    returns

      the constructed `BigDecimal`

15. #### def apply(d: Double): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified double value.

    Constructs a `BigDecimal` whose value is equal to that of the specified double value. Equivalent to `BigDecimal.decimal`.

    d

      the specified `Double` value

    returns

      the constructed `BigDecimal`

16. #### def apply(unscaledVal: Long, scale: Int, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` whose unscaled value is equal to that of the specified long value, but rounded if necessary.

    Constructs a `BigDecimal` whose unscaled value is equal to that of the specified long value, but rounded if necessary.

    unscaledVal

      the value

    scale

      the scale

    mc

      the precision and rounding mode for creation of this value and future operations on it

    returns

      the constructed `BigDecimal`

17. #### def apply(unscaledVal: Long, scale: Int): BigDecimal

    Constructs a `BigDecimal` whose unscaled value is equal to that of the specified long value.

    Constructs a `BigDecimal` whose unscaled value is equal to that of the specified long value.

    unscaledVal

      the value

    scale

      the scale

    returns

      the constructed `BigDecimal`

18. #### def apply(l: Long, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified long value, but rounded if necessary.

    Constructs a `BigDecimal` whose value is equal to that of the specified long value, but rounded if necessary.

    l

      the specified long value

    mc

      the precision and rounding mode for creation of this value and future operations on it

    returns

      the constructed `BigDecimal`

19. #### def apply(l: Long): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified long value.

    Constructs a `BigDecimal` whose value is equal to that of the specified long value.

    l

      the specified long value

    returns

      the constructed `BigDecimal`

20. #### def apply(i: Int, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified `Integer` value, rounding if necessary.

    Constructs a `BigDecimal` whose value is equal to that of the specified `Integer` value, rounding if necessary.

    i

      the specified integer value

    mc

      the precision and rounding mode for creation of this value and future operations on it

    returns

      the constructed `BigDecimal`

21. #### def apply(i: Int): BigDecimal

    Constructs a `BigDecimal` whose value is equal to that of the specified `Integer` value.

    Constructs a `BigDecimal` whose value is equal to that of the specified `Integer` value.

    i

      the specified integer value

    returns

      the constructed `BigDecimal`

22. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

23. #### def binary(d: Double): BigDecimal

    Constructs a `BigDecimal` by expanding the binary fraction contained by `Double` value `d` into a decimal representation.

    Constructs a `BigDecimal` by expanding the binary fraction contained by `Double` value `d` into a decimal representation. Note: this also works correctly on converted `Float`s.

24. #### def binary(d: Double, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` by expanding the binary fraction contained by `Double` value `d` into a decimal representation, rounding if necessary.

    Constructs a `BigDecimal` by expanding the binary fraction contained by `Double` value `d` into a decimal representation, rounding if necessary. When a `Float` is converted to a `Double`, the binary fraction is preserved, so this method also works for converted `Float`s.

25. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

26. #### def decimal(bd: java.math.BigDecimal, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` using a `java.math.BigDecimal`, rounding if necessary.

27. #### def decimal(l: Long): BigDecimal

    Constructs a `BigDecimal` from a `Long`.

    Constructs a `BigDecimal` from a `Long`. This is identical to `BigDecimal(l)`.

28. #### def decimal(l: Long, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` from a `Long`, rounding if necessary.

    Constructs a `BigDecimal` from a `Long`, rounding if necessary. This is identical to `BigDecimal(l, mc)`.

29. #### def decimal(f: Float): BigDecimal

    Constructs a `BigDecimal` using the decimal text representation of `Float` value `f`.

    Constructs a `BigDecimal` using the decimal text representation of `Float` value `f`. Note that `BigDecimal.decimal(0.1f) != 0.1f` since equality agrees with the `Double` representation, and `0.1 != 0.1f`.

30. #### def decimal(f: Float, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` using the decimal text representation of `Float` value `f`, rounding if necessary.

    Constructs a `BigDecimal` using the decimal text representation of `Float` value `f`, rounding if necessary. Note that `BigDecimal.decimal(0.1f) != 0.1f` since equality agrees with the `Double` representation, and `0.1 != 0.1f`.

31. #### def decimal(d: Double): BigDecimal

    Constructs a `BigDecimal` using the decimal text representation of `Double` value `d`.

32. #### def decimal(d: Double, mc: MathContext): BigDecimal

    Constructs a `BigDecimal` using the decimal text representation of `Double` value `d`, rounding if necessary.

33. #### val defaultMathContext: MathContext

34. #### implicit def double2bigDecimal(d: Double): BigDecimal

    Implicit conversion from `Double` to `BigDecimal`.

35. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

36. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

37. #### def exact(cs: Array[Char]): BigDecimal

    Constructs a 'BigDecimal`that exactly represents the number specified in base 10 in a character array.`

38. #### def exact(s: String): BigDecimal

    Constructs a `BigDecimal` that exactly represents the number specified in a `String`.

39. #### def exact(l: Long): BigDecimal

    Constructs a `BigDecimal` that exactly represents a `Long`.

    Constructs a `BigDecimal` that exactly represents a `Long`. Note that all creation methods for `BigDecimal` that do not take a `MathContext` represent a `Long`; this is equivalent to `apply`, `valueOf`, etc..

40. #### def exact(bi: BigInt): BigDecimal

    Constructs a `BigDecimal` that exactly represents a `BigInt`.

41. #### def exact(d: Double): BigDecimal

    Constructs a `BigDecimal` by fully expanding the binary fraction contained by `Double` value `d`, adjusting the precision as necessary.

    Constructs a `BigDecimal` by fully expanding the binary fraction contained by `Double` value `d`, adjusting the precision as necessary. Note: this works correctly on converted `Float`s also.

42. #### def exact(repr: java.math.BigDecimal): BigDecimal

    Constructs a `BigDecimal` from a `java.math.BigDecimal`.

    Constructs a `BigDecimal` from a `java.math.BigDecimal`. The precision is the default for `BigDecimal` or enough to represent the `java.math.BigDecimal` exactly, whichever is greater.

43. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

44. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

45. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

46. #### implicit def int2bigDecimal(i: Int): BigDecimal

    Implicit conversion from `Int` to `BigDecimal`.

47. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

48. #### implicit def javaBigDecimal2bigDecimal(x: java.math.BigDecimal): BigDecimal

    Implicit conversion from `java.math.BigDecimal` to `scala.BigDecimal`.

49. #### implicit def long2bigDecimal(l: Long): BigDecimal

    Implicit conversion from `Long` to `BigDecimal`.

50. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

51. #### final def notify(): Unit

    Definition Classes
      AnyRef

52. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

53. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

54. #### def toString(): String

    Definition Classes
      AnyRef → Any

55. #### def valueOf(x: Long): BigDecimal

    Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor.

    Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor.

    x

      the specified `Long` value

    returns

      the constructed `BigDecimal`

56. #### def valueOf(d: Double): BigDecimal

    Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor.

    Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor. Equivalent to `BigDecimal.decimal`.

    d

      the specified double value

    returns

      the constructed `BigDecimal`

57. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

58. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

59. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Deprecated Value Members

1. #### def apply(bd: java.math.BigDecimal, mc: MathContext): BigDecimal

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) This method appears to round a java.math.BigDecimal but actually doesn't. Use new BigDecimal(bd, mc) instead for no rounding, or BigDecimal.decimal(bd, mc) for rounding.

2. #### def apply(x: Float, mc: MathContext): BigDecimal

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) The default conversion from Float may not do what you want. Use BigDecimal.decimal for a String representation, or explicitly convert the Float with .toDouble.

3. #### def apply(x: Float): BigDecimal

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) The default conversion from Float may not do what you want. Use BigDecimal.decimal for a String representation, or explicitly convert the Float with .toDouble.

4. #### def valueOf(f: Float, mc: MathContext): BigDecimal

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor.

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor. This is unlikely to do what you want; use `valueOf(f.toDouble)` or `decimal(f)` instead.

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) Float arguments to valueOf may not do what you wish. Use decimal or valueOf(f.toDouble).

5. #### def valueOf(f: Float): BigDecimal

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor.

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor. This is unlikely to do what you want; use `valueOf(f.toDouble)` or `decimal(f)` instead.

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) Float arguments to valueOf may not do what you wish. Use decimal or valueOf(f.toDouble).

6. #### def valueOf(d: Double, mc: MathContext): BigDecimal

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor, specifying a `MathContext` that is used for computations but isn't used for rounding.

   Constructs a `BigDecimal` using the java BigDecimal static valueOf constructor, specifying a `MathContext` that is used for computations but isn't used for rounding. Use `BigDecimal.decimal` to use `MathContext` for rounding, or `BigDecimal(java.math.BigDecimal.valueOf(d), mc)` for no rounding.

   d

     the specified double value

   mc

     the `MathContext` used for future computations

   returns

     the constructed `BigDecimal`

   Annotations
     @deprecated
   Deprecated

     (Since version 2.11) MathContext is not applied to Doubles in valueOf. Use BigDecimal.decimal to use rounding, or java.math.BigDecimal.valueOf to avoid it.

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from AnyRef

### Inherited from Any

### Ungrouped