当前位置:   article > 正文

java不失精度的小数计算工具类_java小数运算工具类

java小数运算工具类

1.代码

  1. package com.xtm.java.test;
  2. import java.math.BigDecimal;
  3. /**
  4. * Author: TianMing.Xiong
  5. * Function:不失精度的浮点计算工具类
  6. * Date: Created in 18-4-17 下午5:27
  7. */
  8. public class Arith {
  9. //默认除法运算精度
  10. private static final int DEF_DIV_SCANLE = 10;
  11. private Arith(){}
  12. /**
  13. * 加法运算
  14. * @param v1
  15. * @param v2
  16. * @return
  17. */
  18. public static double add(double v1,double v2){
  19. BigDecimal b1 = BigDecimal.valueOf(v1);
  20. BigDecimal b2 = BigDecimal.valueOf(v2);
  21. return b1.add(b2).doubleValue();
  22. }
  23. /**
  24. * 减法运算
  25. * @param v1
  26. * @param v2
  27. * @return
  28. */
  29. public static double sub(double v1,double v2){
  30. BigDecimal b1 = BigDecimal.valueOf(v1);
  31. BigDecimal b2 = BigDecimal.valueOf(v2);
  32. return b1.subtract(b2).doubleValue();
  33. }
  34. /**
  35. * 乘法运算
  36. * @param v1
  37. * @param v2
  38. * @return
  39. */
  40. public static double mul(double v1,double v2){
  41. BigDecimal b1 = BigDecimal.valueOf(v1);
  42. BigDecimal b2 = BigDecimal.valueOf(v2);
  43. return b1.multiply(b2).doubleValue();
  44. }
  45. /**
  46. * 除法运算
  47. * @param v1
  48. * @param v2
  49. * @return
  50. */
  51. public static double div(double v1,double v2){
  52. BigDecimal b1 = BigDecimal.valueOf(v1);
  53. BigDecimal b2 = BigDecimal.valueOf(v2);
  54. return b1.divide(b2,DEF_DIV_SCANLE,BigDecimal.ROUND_HALF_UP).doubleValue();
  55. }
  56. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/319808
推荐阅读
相关标签
  

闽ICP备14008679号