如何在Android中以普通数字而非权力显示计算值。

时间:2015-03-21 09:31:20

标签: android

我有一个单位转换器。当我输入10000000摄氏度的值以转换为华氏温度时,我得到答案1.8000032E7。这是正确的答案,但如何让应用程序显示180000320而不是1.8000032E7 ??

这是我的Java代码的一部分。

    celsiusET.addTextChangedListener(new TextWatcher() {

        double in,out;

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            if(!machineChange) {
                machineChange = true;
                if(s.toString().equals("-")) {
                    kelvinET.setText("");
                    fahrenheitET.setText("");
                }
                else if(s.toString().equals(".")) {
                    kelvinET.setText("");
                    fahrenheitET.setText("");
                }
                else if(!s.toString().equals("")) {
                    in = Double.parseDouble(s.toString());
                    out = ((in*9)/5)+32;
                    fahrenheitET.setText(String.valueOf(out));
                    out = in+273.15;
                    kelvinET.setText(String.valueOf(out));
                }
                else {
                    kelvinET.setText("");
                    fahrenheitET.setText("");
                }
                machineChange = false;
            }

        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });

2 个答案:

答案 0 :(得分:1)

私有DecimalFormat格式化程序;

formatter = new DecimalFormat(“#,##,##,###”);

act_income_basic_sal_etxt.setText(formatter.format((int)的myApplication.getTaxCalculationModel()getA3())。);

在DecimalFormat中指定您的格式,您将获得所需的数字。

答案 1 :(得分:0)

DecimalFormat可以为您做到这一点。

  

DecimalFormat是格式化的NumberFormat的具体子类   十进制数。它具有各种旨在实现它的功能   可以解析和格式化任何语言环境中的数字,包括支持   适用于西方,阿拉伯和印度数字。它也支持不同   各种数字,包括整数(123),定点数   (123.4),科学记数法(1.23E4),百分比(12%)和货币   金额(123美元)。所有这些都可以进行本地化。