Java中的 BigDecimal Subtract() 方法及示例
Java.math.BigDecimal .subtract(BigDecimal val)用于计算两个 BigDecimal 的算术差异。该方法用于在不影响结果精度的情况下求大数的算术差异。此方法对调用此方法的当前 BigDecimal 执行操作,并将 BigDecimal 作为参数传递。
Java中有两个可用的subtract方法重载,如下所示:
- 减法(BigDecimal val)
- 减法(BigDecimal val,MathContext mc)
减法(BigDecimal val)
句法:
public BigDecimal subtract(BigDecimal val)
参数:此方法接受参数val ,该参数是要从此 BigDecimal 中减去的值。
返回值:该方法返回一个BigDecimal,它保存了差异(this - val),其比例为max(this.scale(),val.scale())。
下面的程序用于说明 BigDecimal 的减法()方法。
// Java program to demonstrate
// subtract() method of BigDecimal
import java.math.BigDecimal;
public class GFG {
public static void main(String[] args)
{
// BigDecimal object to store result
BigDecimal diff;
// For user input
// Use Scanner or BufferedReader
// Two objects of String created
// Holds the values to calculate the difference
String input1
= "545456468445645468464645";
String input2
= "425645648446468486486452";
// Convert the string input to BigDecimal
BigDecimal a
= new BigDecimal(input1);
BigDecimal b
= new BigDecimal(input2);
// Using subtract() method
diff = a.subtract(b);
// Display the result in BigDecimal
System.out.println("The difference of\n"
+ a + " \nand\n" + b + " "
+ "\nis\n" + diff + "\n");
}
}
输出:
The difference of
545456468445645468464645
and
425645648446468486486452
is
119810819999176981978193
减法(BigDecimal val,MathContext mc)
句法:
public BigDecimal subtract(BigDecimal val, MathContext mc)
参数:此方法接受两个参数,一个是val ,它是要从此 BigDecimal 中减去的值,另一个是 MathContext 类型的mc 。
返回值:此方法返回一个 BigDecimal,其中包含差异(this - val),并根据上下文设置进行舍入。
下面的程序用于说明 BigDecimal 的减法()方法。
// Java program to demonstrate
// subtract() method of BigDecimal
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// BigDecimal object to store result
BigDecimal diff;
// For user input
// Use Scanner or BufferedReader
// Two objects of String created
// Holds the values to calculate the difference
String input1
= "468445645468464645";
String input2
= "4256456484464684864864";
// 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 subtract() method
diff = a.subtract(b, mc);
// Display the result in BigDecimal
System.out.println("The difference of\n"
+ a + " \nand\n" + b + " "
+ "\nis\n" + diff + "\n");
}
}
输出:
The difference of
468445645468464645
and
4256456484464684864864
is
-4.255988039E+21
参考资料: https: Java Java.math.BigDecimal)