当前位置: 首页 > 面试题库 >

Java将Double值格式化为2个小数位的最佳方法

和飞翔
2023-03-14
问题内容

我正在处理应用程序中的许多双精度值,是否有任何简单的方法来处理Java中十进制值的格式?

还有其他比这更好的方法了吗

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

我基本上想做的是格式化double值,例如

23.59004  to 23.59

35.7  to 35.70

3.0 to 3.00

9 to 9.00

问题答案:

实际上,你的模式有错误。你想要的是:

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

注意"00",恰好是两个小数位。

如果你使用"#.##"#表示“可选”数字),它将删除尾随的零-即new DecimalFormat("#.##").format(3.0d);仅打印"3",而不是"3.00"



 类似资料:
  • 问题内容: 我需要将浮点数格式化为“ n”个小数位。 试图使用BigDecimal,但返回值不正确… 我需要返回一个浮点数,该浮点数具有我指定的小数位数。 我不需要价值回报 问题答案: 你还可以传递float值,并使用:

  • 问题内容: 我想根据测量值打印字符串,但将其限制为2位数字。我为此使用 MeasurementFormatter 。 我期望结果不是。我的错在哪里 问题答案: 您需要将MeasurementFormatter属性unitOption设置为.providedUnit

  • 我有一个BigDecimal数字,我只考虑它的2个小数点,所以我用以下方法截断它: 我尝试使用格式化程序Formatter.format但我总是得到2个小数位数。 我怎么能这么做?也许正在处理bd.toPlainString()中的字符串?

  • 我有功能: 我需要一个函数,在“number”参数-将接收一个小数,舍入到小数位数(缩放参数),并返回字符串中的结果。有人知道怎么做吗?

  • 问题内容: 我希望实数是例如12.92,而不是12.9241。有可能这样做吗? 问题答案: 在PHP中,尝试 :

  • 问题内容: 我正在尝试将双精度数格式化为精确到小数点后2位(如果有分数),然后使用DecimalFormat将其截断 因此,我想取得下一个结果: 变体#1 变体#2 有什么想法可以选择我的情况吗? 问题答案: 我达到的唯一解决方案是使用 if语句在这里提到 测试中 如果有人知道更优雅的方式,请分享!