1. BigDecimal class overview:
Since the float type and double are easy to lose precision when calculating. So in order to accurately express and calculate floating-point numbers, Java provides bigdecimal.
BigDecimal: A signed decimal number that is immutable and arbitrarily accurate.
2. BigDecimal Construction method
1 Public BigDecimal (String val)
3. use of BigDecimal (subtraction)
1 public BigDecimal Add (BigDecimal augend): Add 2 Public BigDecimal subtract (BigDecimal subtrahend): minus 3 public BigDecimal multiply ( BigDecimal divisor): Multiply 4 public Span style= "color: #000000;" > BigDecimal divide (BigDecimal divisor): except 5 public BigDecimal Divide (BigDecimal divisor, int scale, int roundingmode): quotient, several decimals (scale), How to take (roundingmode)
Code Demo:
1 Packagecn.itcast_02;2 3 ImportJava.math.BigDecimal;4 5 /*6 * Construction Method:7 * Public BigDecimal (String val)8 * 9 * Public BigDecimal Add (BigDecimal augend)Ten * Public BigDecimal Subtract (BigDecimal subtrahend) One * Public BigDecimal Multiply (BigDecimal multiplicand) A * Public BigDecimal Divide (BigDecimal divisor) - * Public BigDecimal Divide (BigDecimal divisor,int scale,int roundingmode): quotient, several decimals, how to take out - */ the Public classBigdecimaldemo { - Public Static voidMain (string[] args) { - //System.out.println (0.09 + 0.01); - //System.out.println (1.0-0.32); + //System.out.println (1.015 *); - //System.out.println (1.301/100); + ABigDecimal BD1 =NewBigDecimal ("0.09"); atBigDecimal Bd2 =NewBigDecimal ("0.01"); -System.out.println ("Add:" +Bd1.add (BD2)); -System.out.println ("-------------------"); - -BigDecimal Bd3 =NewBigDecimal ("1.0"); -BigDecimal Bd4 =NewBigDecimal ("0.32"); inSystem.out.println ("Subtract:" +bd3.subtract (Bd4)); -System.out.println ("-------------------"); to +BigDecimal Bd5 =NewBigDecimal ("1.015"); -BigDecimal Bd6 =NewBigDecimal ("100"); theSystem.out.println ("Multiply:" +bd5.multiply (Bd6)); *System.out.println ("-------------------"); $ Panax NotoginsengBigDecimal Bd7 =NewBigDecimal ("1.301"); -BigDecimal Bd8 =NewBigDecimal ("100"); theSystem.out.println ("Divide:" +bd7.divide (Bd8)); +System.out.println ("Divide:" A+ Bd7.divide (Bd8, 3, bigdecimal.round_half_up)); theSystem.out.println ("Divide:" ++ Bd7.divide (Bd8, 8, bigdecimal.round_half_up)); - } $}
Operating effect:
Java Fundamentals Hardening the Introduction and overview of BigDecimal classes for 89:bigdecimal classes and the use of BigDecimal (subtraction)