Android Java十进制格式-小数点后隐藏零



在我的应用程序中,我希望能够将数字格式化为TextView中的字符串(用逗号(,例如123456.000到123456.000。但问题是,当我键入零(0(作为小数点后的最后一个数字时,在我键入另一个数字之前,它什么都不显示。例如,如果我键入123456.000,则得到123456。直到我键入另一个数字,如"0",零才会显示;1〃;然后我得到123456.0001。请问我如何使零显示为小数点后的最后一个数字?以下是一些示例代码。

我为代码的笨拙道歉。我用手机手动输入。

TextView txtView;
boolean NumberClicked = false;
String number = "";
// format pattern
DecimalFormat formatter = new DecimalFormat("#,###.#########");

// input dot (decimal point)
dot.setOnClickListener (new View.OnClickLstener() {
public void onClick(View view) {
if    (!txtView.getText.toString.contains(".") {
input(".");}}});
// input zero (0)
zero.setOnClickListener (new View.OnClickLstener() {
public void onClick(View view) {
input("0");
}});
// input one (1)
one.setOnClickListener (new 
View.OnClickLstener() {
public void onClick(View view) {
input("1");}});
// input method
public void input (String view) {
if (!numberClicked) {
number = view;
numberClicked = true;
} else {
number = number + view;
}
// print the entered numbers to
//the TextView after formatting 
if (!number.endsWith(".")) { txtView.setText(formatter.format(Double.parseDouble(number)));}}

在此处输入代码

您可以尝试以下代码片段:

DecimalFormat df = new DecimalFormat("#,##0.0#");
df.setMinimumFractionDigits(3);
String value = df.format(123456.000);

输出:123456.000

有关更多信息,请单击此处。

尝试使用:

String.format("%,.03f", 123456.000)