zoukankan      html  css  js  c++  java
  • JAVA BigDecimal 高精度运算

     文章参考一位博友,由于时间太久忘了链接,见谅!

     1 public class BigDecimalUtils {
     2 
     3     private static final int DIV_SCALE = 10;// 除法精度(除不尽时保留10为小数)
     4 
     5     /** 小数精确加法 */
     6     public static double add(double d1, double d2) {
     7         BigDecimal bd1 = BigDecimal.valueOf(d1);
     8         BigDecimal bd2 = BigDecimal.valueOf(d2);
     9         return bd1.add(bd2).doubleValue();
    10     }
    11 
    12     /** 小数精确减法 */
    13     public static double sub(double d1, double d2) {
    14         BigDecimal bd1 = BigDecimal.valueOf(d1);
    15         BigDecimal bd2 = BigDecimal.valueOf(d2);
    16         return bd1.subtract(bd2).doubleValue();
    17     }
    18 
    19     /** 小数精确乘法 */
    20     public static double mul(double d1, double d2) {
    21         BigDecimal bd1 = BigDecimal.valueOf(d1);
    22         BigDecimal bd2 = BigDecimal.valueOf(d2);
    23         return bd1.multiply(bd2).doubleValue();
    24     }
    25 
    26     /** 小数精确除法 */
    27     public static double div(double d1, double d2) {
    28         BigDecimal bd1 = BigDecimal.valueOf(d1);
    29         BigDecimal bd2 = BigDecimal.valueOf(d2);
    30         /*
    31          * 当除不尽时,以四舍五入的方式(关于除不尽后的值的处理方式有很多种)保留小数点后10位小数
    32          */
    33         return bd1.divide(bd2, DIV_SCALE, BigDecimal.ROUND_HALF_UP)
    34                 .doubleValue();
    35     }
    36 }
  • 相关阅读:
    buf.readUInt8()
    buf.readUIntBE()
    buf.readInt32BE()
    buf.readInt16BE()
    buf.readInt8()
    buf.readDoubleBE()
    buf.readFloatBE()
    buf.readIntBE()
    POJ
    【C#】C#托付和事件的实例解说
  • 原文地址:https://www.cnblogs.com/FlyingPuPu/p/6598451.html
Copyright © 2011-2022 走看看