概述
一般有4种方法,下面进行简单总结。
1.BigDecimal.setScale(int newScale,RoundingMode roundingMode)
(1)语法
参数newScale:保留的小数位数
roundingMode:保留模式,包括
BigDecimal.ROUND_DOWN :直接删除
BigDecimal.ROUND_UP :进位
BigDecimal.ROUND_HALF_UP:四舍五入
BigDecimal.ROUND_HALF_DOWN:若舍弃部分>.5,则作ROUND_UP; 否则,作ROUND_DOWN。
更详尽的可参考此博:https://blog.csdn.net/alanzyy/article/details/8465098
(2)代码
BigDecimal a = new BigDecimal("3.14159265358979323").setScale(2,BigDecimal.ROUND_DOWN);
System.out.println(a);//输出3.14
BigDecimal b = new BigDecimal("3.14159265358979323").setScale(2,BigDecimal.ROUND_UP);
System.out.println(b);//输出3.15
BigDecimal c = new BigDecimal("3.14159265358979323").setScale(3,BigDecimal.ROUND_HALF_UP);
System.out.println(c);//输出3.142
BigDecimal d = new BigDecimal("3.1415").setScale(3,BigDecimal.ROUND_HALF_DOWN);
System.out.println(d);//输出3.141
View Code
2.String.format()
double num = 3.14159265358979323;
System.out.println(String.format("%.2f", num));//输出3.14
View Code
3.DecimalFormat.format()
double num = 3.14159265358979323
DecimalFormat decimalFormat = new DecimalFormat("#.00");
System.out.println( decimalFormat.format(num));//输出3.14
4.NumberFormat.format()
1 double num = 3.14159265358979323;2 NumberFormat numberFormat = NumberFormat.getNumberInstance(); numberFormat.setMaximumFractionDigits(2);3 System.out.println( numberFormat.format(num));//输出3.14
原文:https://www.cnblogs.com/sn-7/p/9822311.html
最后
以上就是彩色小松鼠为你收集整理的java的精度浮点数_Java有关浮点数精度——指定精确小数位的全部内容,希望文章能够帮你解决java的精度浮点数_Java有关浮点数精度——指定精确小数位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复