我正在处理应用程序中的许多双精度值,是否有任何简单的方法来处理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语句在这里提到 测试中 如果有人知道更优雅的方式,请分享!