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

dfddblmv  于 2022-12-28  发布在  Android
关注(0)|答案(2)|浏览(150)

在我的应用程序中,我希望能够将数字格式化为字符串(带逗号),例如123456.000到123,456.000。但问题是当我键入零时(0)作为小数点后的最后一个数字,在我键入另一个数字之前,它什么也不显示。例如,如果我键入123456. 000,我得到123,456。零不会显示,直到我键入另一个数字,如“1”,然后我得到123,456.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)));}}

在此输入代码

wribegjk

wribegjk1#

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

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

产量:123 456 000

欲了解更多信息,请click here.

yc0p9oo0

yc0p9oo02#

尝试:

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

相关问题