Java中的 BigDecimal add() 方法及示例
Java.math.BigDecimal .add(BigDecimal val)用于计算两个 BigDecimal 的算术和。该方法用于查找大量范围的算术加法,该范围远大于Java的最大数据类型 double 的范围,而不会影响结果的精度。此方法对调用此方法的当前 BigDecimal 执行操作,并将 BigDecimal 作为参数传递。
Java中有两个可用的 add 方法重载,如下所示:
- add(BigDecimal val)
- 添加(BigDecimal val,MathContext mc)
add(BigDecimal val)
句法:
public BigDecimal add(BigDecimal val)
参数:此方法接受参数val ,该参数是要添加到此 BigDecimal 的值。
返回值:此方法返回一个 BigDecimal,其中包含 sum (this + val),其比例为 max(this.scale(), val.scale())。
下面的程序用于说明 BigDecimal 的 add() 方法。
// Java program to demonstrate
// add() method of BigDecimal
import java.math.BigDecimal;
public class GFG {
public static void main(String[] args)
{
// BigDecimal object to store the result
BigDecimal sum;
// For user input
// Use Scanner or BufferedReader
// Two objects of String created
// Holds the values to calculate the sum
String input1
= "545456468445645468464645";
String input2
= "4256456484464684864864";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal b
= new BigDecimal(input2);
// Using add() method
sum = a.add(b);
// Display the result in BigDecimal
System.out.println("The sum of\n"
+ a + " \nand\n" + b + " "
+ "\nis\n" + sum + "\n");
}
}
输出:
The sum of
545456468445645468464645
and
4256456484464684864864
is
549712924930110153329509
添加(BigDecimal val,MathContext mc)
句法:
public BigDecimal add(BigDecimal val, MathContext mc)
参数:此方法接受两个参数,一个是val ,它是要添加到此 BigDecimal 的值,另一个是 MathContext 类型的mc 。
返回值:此方法返回一个 BigDecimal,其中包含 sum (this + val),根据上下文设置进行舍入。如果任一数字为零且精度设置为非零,则将另一个数字(必要时四舍五入)用作结果。
下面的程序用于说明 BigDecimal 的 add() 方法。
// Java program to demonstrate
// add() method of BigDecimal
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// BigDecimal object to store the result
BigDecimal sum;
// For user input
// Use Scanner or BufferedReader
// Two objects of String created
// Holds the values to calculate the sum
String input1
= "9854228445645468464645";
String input2
= "4252145764464684864864";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal b
= new BigDecimal(input2);
// Set precision to 10
MathContext mc
= new MathContext(10);
// Using add() method
sum = a.add(b, mc);
// Display the result in BigDecimal
System.out.println("The sum of\n"
+ a + " \nand\n" + b + " "
+ "\nis\n" + sum + "\n");
}
}
输出:
The sum of
9854228445645468464645
and
4252145764464684864864
is
1.410637421E+22
参考资料: https: Java Java.math.BigDecimal)