如何在 Android 中打印两个小数点的双精度?

也许这是一个愚蠢的问题,但是如果它不创建一个方法,我就无法猜测如何解决它。也许有一种“自然的方式”来做到这一点,例如在 C 语言中。问题是:

我有一个变量:

double a;

我只想用2或3个小数表示它,当我试图表示它时:

Text.setText("Value of a: " + String.valueOf(a));

它给出了类似这样的东西:

A 的值: 5.234966145

我希望

Value of a: 5.23

在不改变 a 的实数值的情况下,它显示的是近似数字,但与实数一起工作。

203660 次浏览
yourTextView.setText(String.format("Value of a: %.2f", a));

您可以使用 DecimalFormatString.format("%.2f", a);

用这个:

DecimalFormat form = new DecimalFormat("0.00");
etToll.setText(form.format(tvTotalAmount) );

注意: 数据必须是十进制格式(tvTotalamount)

textView2.setText(String.format("%.2f", result));

还有

DecimalFormat form = new DecimalFormat("0.00");
textView2.setText(form.format(result) );

... 导致欧洲语言环境中的“ NumberFormatException”错误,因为它将 result 设置为逗号,而不是十进制小数点——当 textView 添加到 edit Text 中的 number 时,发生错误。 这两种解决方案在美国和英国的现场都运行良好。

在使用 DecimalFormat 之前,您需要使用以下导入,否则代码将无法工作:

import java.text.DecimalFormat;

格式化代码如下:

DecimalFormat precision = new DecimalFormat("0.00");
// dblVariable is a number variable and not a String in this case
txtTextField.setText(precision.format(dblVariable));

For Displaying digit upto two decimal places there are two possibilities - 1)首先,你只想显示十进制数字,如果它在那里。 例如-i)12.10显示为12.1,ii)12.00显示为12

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

2)其次,你想显示十进制数字,而不是十进制数字。例如-i)12.10显示为12.10。Ii)12须显示为12.00。那就用

DecimalFormat formater = new DecimalFormat("0.00");