JAVA经BigDecimal圆角的解决方案及注意事项

JAVA经BigDecimal圆角的解决方案及注意事项

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

 /**
     * @Description: 四舍五入住宿2小数位数
     * @param valueName
     * @return
     */
    public static Double formateDouble45(Double d){
        if(d == null){
            return 0d;
        }
        BigDecimal   b   =   new   BigDecimal(d);
        double   f   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();
        return f;
    }


上面是曾经我写的一个四舍五入保留2位小数的方法。近期发现是有问题的

比如:2.555 得到是2.55 而不是预想的2.56

改进例如以下:

<pre name="code" class="java">    /**
	 * @Description: 四舍五入留2位小数
	 * @param valueName
	 * @return
	 */
	public static Double formateDouble45(Object d){
		if(d == null){
			return 0d;
		}
		BigDecimal   b   =   new   BigDecimal(d.toString());
		double   f   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();
		return f;
	}

通过測试发现假设构建BugDecimal的时候使用String类型的话。我们可以实现所有正常的四舍五入.

不知什么原因详细信息.


版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116901.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • makefile从入门到放弃——博主吐血整理的笔记

    makefile从入门到放弃——博主吐血整理的笔记本文主要总结了makefile的相关知识点,包括makefile的简介、变量的使用、makefile的基本结构、如何编写一个makefile等基础知识。同时也包括makefile的隐含规则、VPATH等高级知识来优化一个makefile文件,让makefile文件更加简洁。同时文中重点标注了makefile的使用注意事项和makefile嵌套的相关知识。

    2022年6月5日
    82
  • servlet-Cookie与Session

    servlet-Cookie与SessionCookieCookie是服务器通知客户端保存键值对儿的一种技术客户端有了Cookie后,每次请求都发送给服务器每个 Cookie的大小都不超过4kb注意Cookie值不包含空格,方括号,圆括号,等号,逗号,双引号,斜杠,问号,at符号,冒号和分号,空值在所有浏览器上的行为也不一样。需要使用BASE64编码。Cookie生命控制setMaxAge()正数,表示在指定的秒数后过期负数,表示浏览器一关闭,Cookie就会被删除零 ,表示马上删除CookiePath属性Cooki

    2022年8月8日
    5
  • Qt: GIF图片播放器(QMovie类)

    Qt: GIF图片播放器(QMovie类)QMovie类用来显示简单的并且没有声音的动画,比如GIF格式的图片等。如果你想要显示视频或者多媒体,可以使用QtMultimedia多媒体框架。

    2022年6月29日
    25
  • LODOP打印控件相关说明

    LODOP打印控件相关说明PRINT_INIT(strPrintTaskName);//初始化并指定打印任务名是strPrintTaskNamePREVIEW();//打印预览PRINT();//直接打印PRINTA();//选择打印机PRINT_SETUP();//打印维护**内容可也自动调整PRINT_DESIGN();//打印设计ADD_PRINT_HTM(0,0,”100%”,”100%”,document.documentElement.innerHTML);//打印整个页面/*intOrient:打印方

    2025年9月1日
    14
  • 数据结构JAVA—递归算法「建议收藏」

    数据结构JAVA—递归算法「建议收藏」http://blog.csdn.net/wangjinyu501/article/details/8248492  原版一、基本概念       递归算法是一种直接或者间接调用自身函数或者方法的算法。Java递归算法是基于Java语言实现的递归算法。递归算法的实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法来表示问题的解。递归算法对解决

    2022年7月8日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号