import java.math.BigDecimal;
import java.text.NumberFormat;
/**
* java精确除法运算,可保留任意长的小数位,多位小数,不限小数位长度
*/
public class Demo {
public static void main(String[] args) {
// 除数
BigDecimal bd = new BigDecimal(153);
// 被除数
BigDecimal bd2 = new BigDecimal(7);
// 进行除法运算,保留200位小数,末位使用四舍五入方式,返回结果
BigDecimal result = bd.divide(bd2, 200, BigDecimal.ROUND_HALF_DOWN);
System.out.println("完整200位小数结果: " + result);
System.out.println("float : " + result.floatValue());
System.out.println("double : " + result.doubleValue());
// 指定想要的小数位长度取值
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(20);// 最大小数位
nf.setMinimumFractionDigits(5); // 最小小数位
String str = nf.format(result);
System.out.println("指定位数取值: " + str);
}
}
java精确除运算,保留任意位小数
最新推荐文章于 2024-08-14 04:38:55 发布