如何将一个双精度数转换为保留两位小数的字符串?

3
我将把这个双精度数转换成字符串,以便在TextView上显示。我想要使用String.format使字符串保留2位小数,但我不知道在这行文本中应该放在哪里。
 Example.setText(Double.toString(dValue));

有什么想法吗?

作为一个侧面的建议,不要将你的变量大写,这会让人感到困惑,看起来像是一个类。 - Juan Cortés
对不起,我的确使用驼峰命名法,但我在复制到这里之前已经更改了变量的名称。 - Stefza
3个回答

5

一种快速且简便的方法是使用格式化字符串并指定小数点位数。最近有一种趋势建议使用 DecimalFormat,因为它会考虑不同的语言环境和使用逗号或点作为小数分隔符。

//The suggested way lately
DecimalFormat formatter = new DecimalFormat("#0.00");        
twoDecimals.setText(formatter.format(2.123145));

//The usual way with some caveats
twoDecimals.setText(String.format("%.2f",2.123));

我很确定这也可以用格式化字符串来完成,但是嘿..我又不是要违反潮流。


4

Example.setText(String.format("%.2f", dValue));

  • .2 表示保留两位小数
  • f 表示这是一个十进制类型

谢谢帮忙!有效了! - Stefza

0

试试这个 -

DecimalFormat df = new DecimalFormat("#.00");
Example.setText(df.format(dValue));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接