在Java中截断float和double

我想截断java中的float和double值。

以下是我的要求:1.如果我有12.49688f,则应将其打印为12.49,而不进行四舍五入;

2.如果将其打印为12.456,则应将其打印为12.45,而不进行四舍五入。3.在任何情况下,该值都应为12.0,应仅打印12。

要牢记条件3,它应与截断逻辑同时进行。

回答:

试试这个-

DecimalFormat df = new DecimalFormat("##.##");

df.setRoundingMode(RoundingMode.DOWN);

System.out.println(df.format(12.49688f));

System.out.println(df.format(12.456));

System.out.println(df.format(12.0));

在这里,我们使用十进制格式化程序进行格式化。将roundmode设置为DOWN,以便它不会自动舍入小数位。

预期结果是:

12.49

12.45

12

以上是 在Java中截断float和double 的全部内容, 来源链接: utcz.com/qa/406381.html

回到顶部