四舍五入四舍五入四舍五入四舍五入

叁歲伎倆 2023-10-09 14:37 103阅读 0赞
  1. public class Test {
  2. public static void main(String[] args) {
  3. double num = 99.32511;
  4. BigDecimal bd = new BigDecimal(num);
  5. //保留两位数字,并且是截断不进行四舍五入
  6. String d1 = bd.setScale(2, RoundingMode.DOWN).toString();
  7. System.out.println(d1);
  8. //保留两位数字,四舍五入
  9. String d2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP).toString();
  10. System.out.println(d2);
  11. // 测试加减乘除
  12. Test test = new Test();
  13. System.out.println(test.add(1.1, 2.2));
  14. System.out.println(test.subtract(3.3, 2.2));
  15. System.out.println(test.mul(3.3, 2.2));
  16. System.out.println(test.div(3.3, 2.2, 2));
  17. }
  18. // 加法运算
  19. private double add(double v1, double v2) {
  20. BigDecimal b1 = new BigDecimal(Double.toString(v1));
  21. BigDecimal b2 = new BigDecimal(Double.toString(v2));
  22. return b1.add(b2).doubleValue();
  23. }
  24. // 减法运算
  25. private double subtract(double v1, double v2) {
  26. BigDecimal b1 = new BigDecimal(Double.toString(v1));
  27. BigDecimal b2 = new BigDecimal(Double.toString(v2));
  28. return b1.subtract(b2).doubleValue();
  29. }
  30. // 乘法运算
  31. public double mul(double d1, double d2){
  32. BigDecimal b1 = new BigDecimal(Double.toString(d1));
  33. BigDecimal b2 = new BigDecimal(Double.toString(d2));
  34. return b1.multiply(b2).doubleValue();
  35. }
  36. // 除法运算
  37. public double div(double d1,double d2,int len) {
  38. BigDecimal b1 = new BigDecimal(Double.toString(d1));
  39. BigDecimal b2 = new BigDecimal(Double.toString(d2));
  40. return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
  41. }
  42. /**
  43. * 比较大小
  44. * @param d1
  45. * @param d2
  46. * @return 1,0,-1
  47. */
  48. public static int compareTo(double d1, double d2) {
  49. BigDecimal b1 = new BigDecimal(Double.toString(d1));
  50. BigDecimal b2 = new BigDecimal(Double.toString(d2));
  51. return b1.compareTo(b2);
  52. }
  53. }

发表评论

表情:
评论列表 (有 0 条评论,103人围观)

还没有评论,来说两句吧...

相关阅读