我是靠谱客的博主 大气太阳,最近开发中收集的这篇文章主要介绍java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在开发中,保留N位小数位的需求肯定不会少。我们项目也有很多地方有这要求,其中一个地方是必须用到 freemarker的保留2位小数位即 ${x?string("0.##")} 语法,而这就是bug的源点。

场景重现

某一天测试突然提了个bug给我,没有人会乐意别人给自己提bug。而且一看这bug还是四舍五入的问题,这就是使用的框架自带的方法,怎么会存在问题呢?一看详情,确实是框架的方法存在问题,一看源码,直接调用的 JDK 的方法,这难道还是 JDK 存在问题?继续查下去发现事情并没有这简单。

四舍五入

我们知道,保留2位小数一般使用如下几种方法(为避免直接使用 double 出现精度问题,使用 StringBigDecimal 来操作):

public static void main(String[]

最后

以上就是大气太阳为你收集整理的java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结的全部内容,希望文章能够帮你解决java bigdecimal负数转正数_java的四舍五入(四舍六入?)舍入模式详解场景重现四舍五入四舍六入五留双java支持的舍入方法保留位总结所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部