java - 小数点问题

标签 java rounding decimalformat

我遇到小数点问题,我只想得到两位小数,所以我使用了下面的代码

 public class TestDateExample1 {
  public static void main(String[] argv){
      double d = 2.34568;
         DecimalFormat f = new DecimalFormat("##.00");
         System.out.println(f.format(d));
    }
  }

当我运行此代码时,输​​出为 2.35,但当小数点高于“5”时我不需要任何增量,我需要精确的小数点,如 2.34。

最佳答案

你可以使用 DecimalFormat#setRoundingMode控制舍入的完成方式,并指定您始终要向下舍入(截断):

DecimalFormat f = new DecimalFormat("##.00");
f.setRoundingMode(RoundingMode.DOWN);
System.out.println(f.format(d));

关于java - 小数点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45663209/

相关文章:

java - Android Studio : java. lang.RuntimeException : Unable to start activity ComponentInfo. .. : java. lang.ClassCastException : java. util.ArrayList

C - 舍入问题 (CS50)

actionscript-3 - 如何计算数轴的主要单位

Java 十进制格式问题零 (0.00)

java - 如何使用 ExecutorService Java 减少到达 Runnable 类的运行方法的时间延迟

java-android error.cannot.find.symbol.variable

c++ - 四舍五入正数或负数

java - 如何使用 Struts2 消息属性格式化带括号的负数?

java 。如何禁用 DecimalFormat 中的舍入

java - 计数排序,为什么要用累加