我是靠谱客的博主 大气太阳,最近开发中收集的这篇文章主要介绍java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
在开发中,保留N位小数位的需求肯定不会少。我们项目也有很多地方有这要求,其中一个地方是必须用到 freemarker的保留2位小数位即 ${x?string("0.##")}
语法,而这就是bug的源点。
场景重现
某一天测试突然提了个bug给我,没有人会乐意别人给自己提bug。而且一看这bug还是四舍五入的问题,这就是使用的框架自带的方法,怎么会存在问题呢?一看详情,确实是框架的方法存在问题,一看源码,直接调用的 JDK 的方法,这难道还是 JDK 存在问题?继续查下去发现事情并没有这简单。
四舍五入
我们知道,保留2位小数一般使用如下几种方法(为避免直接使用 double 出现精度问题,使用 String 转 BigDecimal 来操作):
public static void main(String[]
最后
以上就是大气太阳为你收集整理的java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结的全部内容,希望文章能够帮你解决java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复