# How do I use BigDecimal?

**Using a BigDecimal implies that you should:**

- Create new
**BigDecimal**variables,**using**the constructor. - In order to add a
**BigDecimal**to another**BigDecimal**,**use**add(**BigDecimal**augend) API method, that returns a**BigDecimal**whose value is (this + augend), and whose scale is max(this.

Also, how is BigDecimal defined?

A **BigDecimal** consists of a random precision integer unscaled value and a 32-bit integer scale. If greater than or equal to zero, the scale is the number of digits to the right of the decimal point. If less than zero, the unscaled value of the number is multiplied by 10^(-scale).

**BigDecimal Precision**and

**Scale**By Definition,

**precision**indicates the length of arbitrary

**precision**integer whereas

**scale**means the number of digits to the right of the decimal point. For example if we have a number “100.25” then

**precision**is 5 because we need five digits to write down this number and

**scale**is 2.

People also ask, what is the use of BigDecimal in Java?

The **BigDecimal** class provides operation for arithmetic, comparison, hashing, rounding, manipulation and format conversion. This method can handle very small and very big floating point numbers with great precision. In **java**, **BigDecimal** consists of a random precision integer scale and a 32-bit integer scale.

Explanation: A **BigDecimal** is n*10^scale where n is an arbitrary large signed integer. Scale can be thought of as the number of digits to move the decimal point to left or right.