How to print a double with two decimals in Android?
本问题已经有最佳答案,请猛点这里访问。
也许这是一个愚蠢的问题,但如果它没有创造出一种方法,我猜不出如何解决它。也许有一种"自然的方法"可以做到这一点,比如在C语言中。问题是:
我有一个VAR:
1 | double a; |
我只想用2或3个小数来表示。当我试图展示它时:
1 | Text.setText("Value of a:" + String.valueOf(a)); |
它给出了如下信息:
Value of a: 5.234966145
我只想
Value of a: 5.23
不改变的实数,所以它显示近似数,但使用实数。
1 | yourTextView.setText(String.format("Value of a: %.2f", a)); |
您可以使用decimalformat或
在使用decimalFormat之前,需要使用以下导入,否则代码将无法工作:
1 | import java.text.DecimalFormat; |
格式化代码为:
1 2 3 | DecimalFormat precision = new DecimalFormat("0.00"); // dblVariable is a number variable and not a String in this case txtTextField.setText(precision.format(dblVariable)); |
对于显示小数点后两位的数字,有两种可能-1)首先,您只想显示小数位数。例如-i)12.10显示为12.1,ii)12.00显示为12。然后使用-
1 | DecimalFormat formater = new DecimalFormat("#.##"); |
2)其次,您希望显示小数位数而不考虑小数位数,例如-i)12.10将显示为12.10。ii)12显示为12.00。然后使用-
1 | DecimalFormat formater = new DecimalFormat("#.00"); |
使用这一个:
1 2 | DecimalFormat form = new DecimalFormat("0.00"); etToll.setText(form.format(tvTotalAmount) ); |
注:数据必须为十进制格式(tvtotalamount)
1 | textView2.setText(String.format("%.2f", result)); |
和
1 2 | DecimalFormat form = new DecimalFormat("0.00"); textView2.setText(form.format(result) ); |
…在欧洲的区域设置中导致"numberFormatException"错误,因为它将结果设置为逗号而不是小数点-在将textView添加到editText中的数字时发生错误。这两种解决方案在美国和英国的地区都非常有效。