【发布时间】:2012-02-05 11:17:49
【问题描述】:
我想在运行时将一个数字转换为 2 个小数位(始终显示两个小数位)。我尝试了一些代码,但它只是,如下所示
20.03034 >> 20.03
20.3 >> 20.3 ( my code only rounds not converts )
但是,我希望它这样做:
20.03034 >> 20.03
20.3 >> 20.30 (convert it to two decimal places)
我的代码如下:
angle = a variable
angle_screen = a variable
DecimalFormat df = new DecimalFormat("#.##");
angle = Double.valueOf(df.format(angle));
angle_screen.setText(String.valueOf(angle) + tmp);
任何关于如何做到这一点的帮助都会很棒,谢谢。
【问题讨论】:
-
您的代码存在某种缺陷。您将双精度转换为具有特殊格式的字符串。然后将其转换回双精度,然后将其转换回字符串而不指定任何格式。我想那是错误的。
tmp变量的用途也不明显。 -
你应该阅读
DecimalFormatAPI - 答案就在那里,而且很清楚。