当前位置: 首页 > news >正文

太原网站建设哪家好班级网站设计

太原网站建设哪家好,班级网站设计,如何在手机上开发软件,公司网站用模板做原文链接#xff1a;https://blog.csdn.net/yacolspace/article/details/78287394double类型数据加减操作精度丢失问题今天在项目中用到double类型数据加减运算时#xff0c;遇到了一个奇怪的问题#xff0c;比如120.2300.03#xff0c;理论上结果应该是321.23#xff0c;…原文链接https://blog.csdn.net/yacolspace/article/details/78287394double类型数据加减操作精度丢失问题今天在项目中用到double类型数据加减运算时遇到了一个奇怪的问题比如120.2300.03理论上结果应该是321.23其实结果并不是这样。public double add() {        double number1  1;        double number2  20.2;        double number3  300.03;        double result number1 number2 number3;        System.out.println(result);        return result;    }打印结果如下这是为什么呢又该如何解决呢在使用Java中double 进行运算时经常出现精度丢失的问题总是在一个正确的结果左右偏0.0000**1。float和double只能用来做科学计算或者是工程计算在商业计算中我们要用 java.math.BigDecimal。BigDecimal一共有4个够造方法我们只考虑两个进行比较分别是BigDecimal(double val)          Translates a double into a BigDecimal.BigDecimal(String val)          Translates the String repre sentation of a BigDecimal into a BigDecimal.上面的API简要描述相当的明确而且通常情况下上面的那一个使用起来要方便一些。我们可能想都不想就用上了会有什么问题呢现贴出BigDecimal的一个构造函数的文档供大家参考解决方法相信从上面的文档大家也已经找出了解决方法在需要精确的表示两位小数时我们需要把他们转换为BigDecimal对象然后再进行运算。另外需要注意使用BigDecimal(double val)构造函数时仍会存在精度丢失问题建议使用BigDecimal(String val)。这就需要先把double转换为字符串然后在作为BigDecimal(String val)构造函数的参数。转换为BigDecimal对象之后再进行加减乘除操作这样精度就不会出现问题了。这也是为什么有关金钱数据存储都使用BigDecimal。处理double类型数据的加、减、乘、除运算时使用如下方法/**     * 加法运算     * param m1     * param m2     * return     */    public static double addDouble(double m1, double m2) {        BigDecimal p1  new BigDecimal(Double.toString(m1));        BigDecimal p2  new BigDecimal(Double.toString(m2));        return p1.add(p2).doubleValue();    }    /**     * 减法运算     * param m1     * param m2     * return     */    public static double subDouble(double m1, double m2) {        BigDecimal p1  new BigDecimal(Double.toString(m1));        BigDecimal p2  new BigDecimal(Double.toString(m2));        return p1.subtract(p2).doubleValue();    }    /**     * 乘法运算     * param m1     * param m2     * return     */    public static double mul(double m1, double m2) {        BigDecimal p1  new BigDecimal(Double.toString(m1));        BigDecimal p2  new BigDecimal(Double.toString(m2));        return p1.multiply(p2).doubleValue();    }    /**     * 除法运算     * param   m1     * param   m2     * param   scale     * return     */    public static double div(double m1, double m2, int scale) {        if (scale 验证文章开头提到的问题是否解决public double addDouble() {        double result1  add(1, 20.2);        double result2  add(result1, 300.03);        System.out.println(使用BigDecimal时结果值  result2);        return result2;    }打印结果值跟预想中的结果值一样解决了double类型数据加减操作时精度丢失的问题。
http://wiki.neutronadmin.com/news/341008/

相关文章:

  • 深圳宝安区网站建设网站建设公司推荐5788
  • 佛山建站专家北京做网站建设公司排名
  • 苏州工业园区做政务网站的公司室内设计公司取名字
  • 怎么做网站地图导航wp系统网站如何做seo
  • 深圳做网站排名公司推荐wordpress基础版
  • 建设部网站官网查询重庆网站查询
  • 优化网站排名的方法如何网上快速接网站开发订单
  • 哪个网站是专门做封面素材个人做网站怎么赚钱
  • 莱芜网络推广公司长沙网站关键词seo
  • 深圳南山企业网站建设报价网站职业技能培训学校
  • 软件开发培训视频seo网站关键词排名优化
  • 软件开发包含网站开发客户关系管理的内容
  • frontpg做网站好吗浅谈天猫的电子商务网站建设
  • vs2015网站开发科技 公司 响应式 网站
  • 合肥 做网站2010年青海省建设厅网站
  • 人防网站建设seo sem是什么
  • 沛县互助网站开发怎么在自己的网站上传视频
  • 网站开发定制推广杭州广州天河区网站设计公司
  • 程序员做兼职的网站vs 团队网站开发
  • 做电影网站配什么公众号建设网站设计的公司
  • 沈阳专业制作网站济宁中小企业网站建设
  • 外国网站学习做任务 升级查询成绩的网站怎么做
  • 建筑网站转发电子商务网站建设期中
  • 网站后台注入北京分类信息网
  • 怎么分析网站建设的优缺点semiconductor
  • 免费网站排名优化学校网站维护怎么做
  • 怎样做访问外国网站才能不卡品牌建设的内容包括
  • 程序员帮忙做放贷网站wordpress 应用主题
  • 做app网站需要什么条件如何为产品做网站
  • 怎样建一个免费网站销售方案怎么写