java divide是什么,让我们一起了解一下?
divide是在BigDecimal中的用来做除法的运算,在java.math.BigDecimal.divide返回一个BigDecimal,其值为(this/除数),其标度是this.scale()。如果必须执行舍入,以产生一个结果与给定的比例,将指定的舍入模式被应用。
BigDecimal中divide用来做除法的运算,那么它的实现方法是什么?
其中有这么一个方法:
public BigDecimal divide(BigDecimal divisor,int scale, int roundingMode)
1、第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。
BigDecimal.ROUND_DOWN:直接省略多余的小数,比如1.28如果保留1位小数,得到的就是1.2 BigDecimal.ROUND_UP:直接进位,比如1.21如果保留1位小数,得到的就是1.3 BigDecimal.ROUND_HALF_UP:四舍五入,2.35保留1位,变成2.4 BigDecimal.ROUND_HALF_DOWN:四舍五入,2.35保留1位,变成2.3
后边两种的区别就是如果保留的位数的后一位如果正好是5的时候,一个舍弃掉,一个进位。
2、BigDecimal.setScale()方法用于格式化小数点。
setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4 setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
实战操作:Java BigDecimal divide()用法及代码示例
java.math.BigDecimal.divide(BigDecimal divisor)用于计算两个BigDecimal的商。商由(this /除数)给出。此方法对当前的BigDecimal进行操作,调用该方法并将BigDecimal作为参数传递。
所以Java中有五种重载的除法方法重载,如下所示:
1、divide(BigDecimal divisor)。
2、divide(BigDecimal divisor,MathContext mc)。
3、divide(BigDecimal divisor,RoundingMode roundingMode)。
4、divide(BigDecimal divisor,整数比例,RoundingMode roundingMode)。
5、divide(BigDecimal divisor,int roundingMode)。
下面的程序用于说明BigDecimal的divide()方法:
// Java program to demonstrate // divide() method of BigDecimal import java.math.BigDecimal; public class GFG {undefined public static void main(String[] args) {undefined // BigDecimal object to store the result BigDecimal res; // For user input // Use Scanner or BufferedReader // Two objects of String created // Holds the values String input1 = "204800000"; String input2 = "256"; // Convert the string input to BigDecimal BigDecimal a = new BigDecimal(input1); BigDecimal divisor = new BigDecimal(input2); // Using divide() method res = a.divide(divisor); // Display the result in BigDecimal System.out.println(res); } }
以上就是小编今天的分享了,希望可以帮助到大家。