在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.4912.45
12
以上是 在Java中截断float和double 的全部内容, 来源链接: utcz.com/qa/406381.html