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

南山网站seo有关优化网站建设的书籍

南山网站seo,有关优化网站建设的书籍,推广策略有哪些方法,珠海建设网站公司原文链接#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://www.pierceye.com/news/542414/

相关文章:

  • 电子商务网站开发需求文档怎样建自己的网站
  • 通过关键词优化提升企业网站个人 可以做网站备案吗
  • 山西百度公司做网站的网站监控的软件怎么做
  • 如何做一份企业网站网站调用微博
  • 电子商务网站的设计工具wordpress中文用户名
  • 网站免费下载软件软件著作权申请多少钱一个
  • 东莞网站视频网站建设和管理规则
  • 内网网站建设方案wordpress 开发主题
  • 咸阳网站建设联系电话星悦做任务网站是
  • 家居网站建设的背景及意义免费域名注册官网
  • 桂林网站制作多少钱排名优化seo
  • 将网站保存怎么做wordpress 后台菜单
  • 2.0网站线上建设什么意思做外贸网站哪家的好
  • 网站域名可以更改吗安装wordpress插件目录下
  • 海南省澄迈住房和城乡建设厅网站ui设计师创意平台
  • 青岛网站设计公司排名wordpress 下载主题
  • 外包做网站不满意中级经济师考试成绩查询
  • 苏州企业网站建站系统网页制作基础步骤
  • 新河网站规划电子商务网站流程
  • 免费网站建设免代码杭州建设工程交易平台
  • 网页网站导读怎么做百度问答兼职怎么做
  • wordpress建站环境报喜鸟集团有限公司网页制作
  • 怎么利用网站赚广告费网站开发服务费入什么科目
  • 求网站2021在线观看设计app的软件
  • 百度文库登录入口昆明网站建设优化技术
  • 江苏建设教育协会网站网络营销专员岗位职责
  • 遂宁门户网站建设先进工作单位帮别人做违法网站会判刑吗
  • 设计公司网站套餐怎么样做短视频
  • 化妆品做网站流程什么是网络营销产品
  • windows搭建php网站推荐商城网站建设