我尝试了两种不同的方法来格式化某些数字以显示类似于金钱,因此到2位小数。 但是,我尝试将EditText字段设置为
EditText.setText (String.format("%.2f, number))
以及:
DecimalFormat precision = new DecimalFormat("0.00");
EditText.setText(String.valueOf(precision.format(number));
并且似乎都没有做任何事情,一切仍然默认为设置为1小数位,即30.0,如果它的任何其他它将会转到3或更多小数位,即)30.243
答案 0 :(得分:3)
@Mason Richardson
您是否尝试过setMinimumFractionDigits()
设置值的最小分数
DecimalFormat precision = new DecimalFormat("#.##");
dec.setMinimumFractionDigits(2);
EditText.setText(String.valueOf(precision.format(number));
答案 1 :(得分:1)
试试这个
DecimalFormat precision = new DecimalFormat("0.##");
edittext.setText(precision.format(number));
答案 2 :(得分:1)
如果要将5.00显示为5& 5.10为5.1然后使用:
DecimalFormat formater = new DecimalFormat("#.##");
如果要将5.00显示为5.00& 5.10为5.10然后使用:
DecimalFormat formater = new DecimalFormat("#.00");
答案 3 :(得分:0)
试试这个,
double rews = 100.89478;
String ada = new DecimalFormat("##.##").format(rews);
System.out.println(ada);
输出
100.89
这里.##
所以它会给出2个小数点。如果你想添加3意味着使用.###
。
答案 4 :(得分:0)
您的代码似乎是正确的,但请看一下,
System.out.printf("Floating point number with 2 decimal digits: %.2f\n",1.21312939123);
System.out.printf("Floating point number with 3 decimal digits: %.3f\n",1.21312939123);
System.out.printf("Floating point number with 8 decimal digits: %.8f\n",1.21312939123);
System.out.printf("String: %s, integer: %d, float: %.6f", "Hello World",89,9.231435);
输出:
Floating point number with 2 decimal digits: 1.21
Floating point number with 3 decimal digits: 1.213
Floating point number with 8 decimal digits: 1.21312939
String: Hello World, integer: 89, float: 9.231435