Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android上设置数字格式_Java_Android - Fatal编程技术网

Java 如何在Android上设置数字格式

Java 如何在Android上设置数字格式,java,android,Java,Android,我正在学习在Android上编程移动应用程序。我的第一个应用程序是一个单位转换器。现在一切都正常,但我有一个关于数字格式的问题。我使用以下代码从按钮获取文本并转换适当的输出: if (bPrevodZ.getText() == "milimeter"){ if (bPrevodDo.getText()=="kilometer"){ String PomocnaPremenna = jednotkaZ.getText().toString(); double

我正在学习在Android上编程移动应用程序。我的第一个应用程序是一个单位转换器。现在一切都正常,但我有一个关于数字格式的问题。我使用以下代码从按钮获取文本并转换适当的输出:

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;。为什么?这正是我需要的。这正是我需要的。