double 转 BigDecimal 失真问题

double 转 BigDecimal 失真问题最近在看银行家算法的时候发现原博文中用的BigDecimal有问题,所以总结了BigDecimal失真问题,自己也总结了几种经常用的转换方式,并且列出来,以防以后忘记,代码如下      doubledb=211288.555;       Stringstr="211288.555";       BigDecimalrw=BigDecimal.valueOf(…

大家好,又见面了,我是你们的朋友全栈君。

最近在看银行家算法的时候发现原博文中用的BigDecimal 有问题,所以总结了BigDecimal 失真问题,自己也总结了几种经常用的转换方式,并且列出来,以防以后忘记,代码如下

       double db = 211288.555;
        String str = “211288.555”;
        BigDecimal rw = BigDecimal.valueOf(db);// 不失真
        BigDecimal rw2 = new BigDecimal(db);// 这种用法会失真,要小心
        BigDecimal rw3 = new BigDecimal(str);// 不失真
        BigDecimal rw4 = new BigDecimal(Double.valueOf(db));// 这种用法会失真,要小心
        System.out.println(“rw==” + rw);
        System.out.println(“rw2==” + rw2);
        System.out.println(“rw3==” + rw3);
        System.out.println(“rw4==” + rw4);

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

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

(0)
上一篇 2022年5月4日 下午12:20
下一篇 2022年5月4日 下午12:20


相关推荐

  • TFS工作项模板自定义指南

    TFS工作项模板自定义指南概述 TFS 内置有 CMMI 模板 敏捷模板等过程模板 但是为了方便团队管理 TFS 提供自定义过程模板的功能 每个团队可以根据需要自定义模板界面 字段 流程等内容 本文档将会介绍如何自定义过程模板 以及制定的要求 环境准备获取修改权限过程模板修订完成后 需要导入到对应的团队项目中 此时要求执行导入的账号需要具有该项目的管理员权限 权限由服务器管理员开通 安装工具 VS 工具 与 TFS 服务器版本对应的 VS 工具 例如 172 16 10 116 服务器是 2010 版本的 TFS 服务器 则修改模板时需要通过 2

    2026年3月16日
    2
  • native ascii_编码转换在线

    native ascii_编码转换在线1、获取native2ascii:安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。2、native2ascii的命令行的命名格式:native2ascii-[options][inputfile[outputfile]]说明:-[options]:表示命令开关,有两个选项可供选择-r…

    2025年10月31日
    4
  • MSDN 6.0 之 Platform SDK 内容导航

    MSDN 6.0 之 Platform SDK 内容导航MSDN6.0之PlatformSDK内容导航王天平,北京,荣丰20082005年7月3日从头文件说起实际上在每个用C编写的Windows程式的开头都可看到:#includeWINDOWS.H是主要的引入头文件,它包含了其他Windows头文件,这些头文件的某些也包含了其他头文件。这些头文件中最重要的和最基本的是:l        WINDEF.H基本类型定义。l        

    2022年6月3日
    62
  • vc++菜鸟教程_vc6.0使用教程详解

    vc++菜鸟教程_vc6.0使用教程详解怎样编写自己的VCL控件     用过Delphi的朋友们,大概对Delphi的最喜欢Delphi的不是他的强类型的pascal语法,而是强大的VCL控件,本人就是一位VCL控件的爱好者。    VCL控件的开源,给我们带来了享之不尽的好处。不像以前的ole控件以及ActiveX,你完全可以重写Delphhi标准控件,而且网上这方面的资源很多。    关于如何编写VCL控件,和多Delphi

    2026年3月10日
    3
  • ESAPI入门使用方法

    ESAPI入门使用方法ESAPI 入门使用方法一 介绍 ESAPI nbsp nbsp ESAPI OWASP 企业安全应用程序接口 是一个免费 开源的 网页应用程序安全控件库 它使程序员能够更容易写出更低风险的程序 ESAPI 接口库被设计来使程序员能够更容易的在现有的程序中引入安全因素 ESAPI 库也可以成为作为新程序开发的基础 二 所需要的软件我下载后的文件放置在 nbsp E 软件源文

    2026年3月18日
    1
  • Freeswitch+webSocket 尝试开发呼叫中心工具条actionbar 成功小结

    Freeswitch+webSocket 尝试开发呼叫中心工具条actionbar 成功小结好久没有写文章,因为我在酝酿大招。^_^呼叫中心工具条开发环境:LinuxCentos6.x+java1.8+websocket+Freeswitch1.5+API(提供其他语言调用工具条,不仅限于java)1、来电弹屏(DEMO演示了一个客户表,通过来电号码判断查询用户,并展示给坐席)2、电话状态变化提示 ringing,answer,han

    2022年7月14日
    38

发表回复

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

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