Java 如何在Android上设置数字格式
我正在学习在Android上编程移动应用程序。我的第一个应用程序是一个单位转换器。现在一切都正常,但我有一个关于数字格式的问题。我使用以下代码从按钮获取文本并转换适当的输出:Java 如何在Android上设置数字格式,java,android,Java,Android,我正在学习在Android上编程移动应用程序。我的第一个应用程序是一个单位转换器。现在一切都正常,但我有一个关于数字格式的问题。我使用以下代码从按钮获取文本并转换适当的输出: if (bPrevodZ.getText() == "milimeter"){ if (bPrevodDo.getText()=="kilometer"){ String PomocnaPremenna = jednotkaZ.getText().toString(); double
if (bPrevodZ.getText() == "milimeter"){
if (bPrevodDo.getText()=="kilometer"){
String PomocnaPremenna = jednotkaZ.getText().toString();
double cisloNaPrevod = Double.parseDouble(PomocnaPremenna);
cisloNaPrevod = cisloNaPrevod*0.0000001;
vysledok.setText(Double.toString(cisloNaPrevod));
}
最终的结果是cisloNaPrevod,但我在显示该数字的良好格式时遇到了问题。例如:
12345毫米=00012345公里这很好,对吗
但如果我皈依:
563287 mm=0.05632869999995这很糟糕:我需要它显示0.0563287
Thx如需任何帮助,请使用String.format:
String.format("%.6f", cisloNaPrevod);
使用String.format:
String.format("%.6f", cisloNaPrevod);
如果您希望您的数字始终有6个有效数字,请使用
vysledok.setText(String.format("%.6g", cisloNaPrevod));
给出的结果为0.0563287
如果要将小数点后的数字四舍五入为6,请使用
vysledok.setText(String.format("%.6f", cisloNaPrevod));
给出的结果为0.056329
以下是一些关于数字格式的好资源:
如果您希望您的数字始终有6个有效数字,请使用
vysledok.setText(String.format("%.6g", cisloNaPrevod));
给出的结果为0.0563287
如果要将小数点后的数字四舍五入为6,请使用
vysledok.setText(String.format("%.6f", cisloNaPrevod));
给出的结果为0.056329
以下是一些关于数字格式的好资源:
如果这是您经常要做的事情,也许您应该使用DecimalFormat 然后打电话:
df.format(someDoubleValue);
如果这是您经常要做的事情,也许您应该使用DecimalFormat 然后打电话:
df.format(someDoubleValue);
我认为它应该是%.7f而不是%.6f,但仍然是正确的:Thx用于快速回答,但我如何在代码中使用它用它代替你的Double.toString调用现在我有一个新问题:如果我将55 ly转换为meters,它将显示5.203E17,但我需要显示整数520340175991944000我想它将是%.7f而不是%.6f,但仍然正确:Thx用于快速回答,但我如何在代码中使用它使用它而不是Double.toString调用现在我有一个新问题:如果我将55 ly转换为米,它将显示5.203E17,但我需要显示整数520340175991944000从不将字符串与==,使用.equals;。为什么?Read从不将字符串与==,使用.equals;。为什么?这正是我需要的。这正是我需要的。