我是靠谱客的博主 善良歌曲,这篇文章主要介绍BigDecimal出现多位小数问题,现在分享给大家,希望可以做个参考。

背景:用bigdecimal,结果出现一大堆小数

public static void bigDcimalDot() {
    
    System.out.println(new BigDecimal(3.1415926));
    //打印结果:3.14159260000000006840537025709636509418487548828125
   
    System.out.println(new BigDecimal("3.1415926"));
    //打印结果:3.1415926

	//描述:double转为Bigdecimal,位数过多转换时变为科学计数法,容易出现精度丢失现象
	//解决方案:如下方法先转为字符串再转为BigDecimal
	System.out.println(new BigDecimal(3.1415926).setScale(7,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());
	//打印结果:3.1415926
}


最后

以上就是善良歌曲最近收集整理的关于BigDecimal出现多位小数问题的全部内容,更多相关BigDecimal出现多位小数问题内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部