Java BigDecimal negate()函数
- java.math.BigDecimal.negate()方法返回一个BigDecimal,其值是与之配合使用的BigDecimal的否定值。
语法:
public BigDecimal negate()
参数:该方法不接受任何参数。
返回值:该方法返回BigDecimal对象的负值,其比例为this.scale()。
下面的程序将说明java.math.BigDecimal.negate()函数的使用。
程序 1 :
// Java program to demonstrate negate() method
import java.math.*;
public class GFG {
public static void main(String[] args) {
// Create a BigDecimal object
BigDecimal num;
// Assign value to num
num = new BigDecimal("4743");
System.out.println( "Negated value is " + num.negate() );
}
}
输出:
Negated value is -4743
程序 2:
// Java program to demonstrate negate() method
import java.math.*;
public class GFG {
public static void main(String[] args) {
// Create a BigDecimal object
BigDecimal num;
// Assign value to num
num = new BigDecimal("-9674283517.97");
System.out.println( "Negated value is " + num.negate() );
}
}
输出:
Negated value is 9674283517.97
- java.math.BigDecimal.negate(MathContext mc)方法返回一个BigDecimal,其值是它的否定值,即根据MathContext类对象指定的精度设置,通过四舍五入得到。
语法:
public BigDecimal negate(MathContext mc)
参数:该方法只接受一个MathContext类对象的参数mc,该参数指定了对BigDecimal进行舍入的精度设置。
返回值:该方法返回被四舍五入的对象的否定值,该值是按照精度设置的。
异常:如果得到的结果不是精确的,但四舍五入的模式是unnecessary,该方法可能会抛出ArithmeticException。
下面的程序将说明java.math.BigDecimal.negate(MathContext mc)方法的使用。
程序 1
// Java program to demonstrate negate(MathContext mc) method
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// create 2 BigDecimal objects
BigDecimal num, negv;
MathContext mc = new MathContext(4); // 4 precision
// assign value to num
num = new BigDecimal("78.6714");
// assign negate value of num to negv using mc
negv = num.negate(mc);
System.out.println("Negated value, rounded to 4"+
" precision " + negv);
}
}
输出:
Negated value, rounded to 4 precision -78.67
程序 2
// Java program to demonstrate negate(MathContext mc) method
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// create 2 BigDecimal objects
BigDecimal num, negv;
MathContext mc = new MathContext(12); // 12 precision
// assign value to num
num = new BigDecimal("-178901456.68431");
// assign negate value of num to negv using mc
negv = num.negate(mc);
System.out.println("Negated value, rounded to 12 "+
"precision " + negv);
}
}
输出:
Negated value, rounded to 12 precision 178901456.684
参考:
https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#negate()