我是靠谱客的博主 彩色小松鼠,最近开发中收集的这篇文章主要介绍java的精度浮点数_Java有关浮点数精度——指定精确小数位,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一般有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)代码

2b65ef29a5872cc0e4771c25889edd04.gif

6a087676c59fa8b19d76e6bb55a32902.gif

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()

2b65ef29a5872cc0e4771c25889edd04.gif

6a087676c59fa8b19d76e6bb55a32902.gif

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有关浮点数精度——指定精确小数位所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部