Android toast输出,浮点十进制格式?

Android toast输出,浮点十进制格式?,android,floating-point,decimal,Android,Floating Point,Decimal,我知道如何将浮点输出到小数点后3位的唯一方法是这样的 DecimalFormat var = new DecimalFormat("#.###"); Toast.makeText(this,"number equals"+var.format(number),Toast.LENGTH_SHORT).show(); 我能把%.3f或%3f之类的东西放在吐司里吗 我尝试了“数字等于”+数字%3f和“数字等于”+数字%.3f 这会弄乱数值I思考你唯一能做到这一点的真正方法是这样的: float nu

我知道如何将浮点输出到小数点后3位的唯一方法是这样的

DecimalFormat var = new DecimalFormat("#.###");
Toast.makeText(this,"number equals"+var.format(number),Toast.LENGTH_SHORT).show();
我能把
%.3f或%3f
之类的东西放在吐司里吗

我尝试了
“数字等于”+数字%3f
“数字等于”+数字%.3f


这会弄乱数值

I思考你唯一能做到这一点的真正方法是这样的:

float number = (float)Math.round(oldNumber * 1000) / 1000;
string formattedNumber = Float.toString(number);

这将四舍五入到小数点后3位。然而,我不明白为什么这会对您有所帮助,您所拥有的已经足够了。

android中不支持%.3f这样的符号,所以无论在哪里,您都需要格式化,您需要使用DecimalFormat。

如果不使用“DecimalFormat”,我将如何打印它?谢谢,问题是。。?。。我想你可以更清楚地知道你在这里需要什么。为什么?十进制格式化程序有什么问题?我的意思是如何在Toast中使用%.3f或%3f(我不确定是哪一个),但我想我会坚持使用十进制格式,它是干净的吗?这是否意味着我不能像在System.out.printno中那样使用%.3f或%3f,我不明白为什么你会选择使用可爱的十进制格式内置功能来实现这一点。:)