zoukankan      html  css  js  c++  java
  • Java使用BigDecimal解决浮点型运算丢失精度的问题

    •     @Test
          public void test1(){
              System.out.print(0.05+0.01);
          }

    •     @Test
          public void test2(){
              BigDecimal b1 = new BigDecimal(0.01);
              BigDecimal b2 = new BigDecimal(0.05);
              System.out.print(b1.add(b2));
          }

    •     @Test
          public void test3(){
              BigDecimal b1 = new BigDecimal("0.01");
              BigDecimal b2 = new BigDecimal("0.05");
              System.out.print(b1.add(b2));
          }

    • BigDecimal的加减乘除的工具类
      package com.mmall.util;
      
      import java.math.BigDecimal;
      
      public class BigDecimalUtil {
      
          private BigDecimalUtil(){
      
          }
      
          public static BigDecimal add(double v1,double v2){
              BigDecimal b1 = new BigDecimal(Double.toString(v1));
              BigDecimal b2 = new BigDecimal(Double.toString(v2));
              return b1.add(b2);
          }
      
          public static BigDecimal sub(double v1,double v2){
              BigDecimal b1 = new BigDecimal(Double.toString(v1));
              BigDecimal b2 = new BigDecimal(Double.toString(v2));
              return b1.subtract(b2);
          }
      
          public static BigDecimal mul(double v1,double v2){
              BigDecimal b1 = new BigDecimal(Double.toString(v1));
              BigDecimal b2 = new BigDecimal(Double.toString(v2));
              return b1.multiply(b2);
          }
      
          public static BigDecimal div(double v1,double v2){
              BigDecimal b1 = new BigDecimal(Double.toString(v1));
              BigDecimal b2 = new BigDecimal(Double.toString(v2));
              return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留两位小数
          }
      }
  • 相关阅读:
    mysql主从延迟高的原因
    OpenStack云平台网络模式及其工作机制
    maps.reg
    dnion的remap.conf文件
    linux的tar命令
    traffic server文件目录
    records.config文件参数解释
    VNC配置
    KVM详情
    cache.config文件配置模板
  • 原文地址:https://www.cnblogs.com/jimisun/p/8109097.html
Copyright © 2011-2022 走看看