如何避免双重科学记数法?

use*_*834 13 double android

这是我的简单代码

        @Override
    public void onClick(View v) {
        try {
            double price = Double.parseDouble(ePrice.getText().toString());
            double percent = Double.parseDouble(ePercent.getText().toString());

            double priceValue = price * percent/100.0f;
            double percentValue = price - priceValue;

            moneyToGet.setText(String.valueOf(priceValue));
            moneyToPay.setText(String.valueOf(percentValue));

            moneyToGet.setText("" + priceValue);
            moneyToPay.setText("" + percentValue);

            // catch
        } catch (NumberFormatException ex) {
            // write a message to users
            moneyToGet.setText("");
        }
    }

});
Run Code Online (Sandbox Code Playgroud)

这是百分比计算器的简单代码.

我想要的是避免我的计算器中的科学记数法因为我不想向用户解释什么是科学记数法.

例如,如果我想计算100,000,000并减少50%,它应该给我50,000,000,这给了我5.0E7而在我的情况下,这对用户没有任何意义.当然,我知道两种结果都是正确的.提前致谢.

小智 12

在这里查看答案.你可以写

moneyToGet.setText(String.format("%.0f", priceValue));
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您的数字有小数部分,它将删除它。 (2认同)

Kir*_*irk 7

你可以尝试这个DecimalFormat

DecimalFormat decimalFormatter = new DecimalFormat("############");
number.setText(decimalFormatter.format(Double.parseDouble(result)));
Run Code Online (Sandbox Code Playgroud)