zoukankan      html  css  js  c++  java
  • java double精度丢失解决方案

    		//方法1:用NumberFormat类来格式化数字,觉得这种算数运算比较直观
    		NumberFormat numberFormat=NumberFormat.getNumberInstance();
    		double a = 11540.0;
            double b = 0.35;
            double result = a * b;
            System.out.println(result);  //4038.9999999999995
            System.out.println( numberFormat.format(result));   //4,039   返回是数字是string类型,有,分割
            System.out.println(Double.valueOf(numberFormat.format(result).replaceAll(",", "")));//4039.0
    
    
           //方法1:用BigDecimal来处理,multiply是表示乘的方法,但看起来很不直观,习惯了算数运算,但也很多人用这种方法
            BigDecimal aa = new BigDecimal(String.valueOf(a));
            BigDecimal bb = new BigDecimal(String.valueOf(b));
            result = aa.multiply(bb).doubleValue();
            System.out.println(result);
    
  • 相关阅读:
    【Python之路Day1】基础篇
    C语言转义字符表和ASCII码表
    strcpy函数学习
    Linux C遇到的常见错误
    静态内存
    指针
    #define学习
    枚举
    搭建Linux C语言开发环境
    centos下php环境安装redis
  • 原文地址:https://www.cnblogs.com/fengyu/p/1910559.html
Copyright © 2011-2022 走看看