Android中没有Exponent“E”的大数字计算

时间:2014-03-28 17:22:35

标签: android eclipse variables double decimal

我在Android应用中为变量使用Double数据类型。

它只需要一个数字,并显示该数字的增加百分比:

例如1,000,000加1000%= 1.1E7

问题是我不想要指数显示(E),我希望它是十进制的。

这是该区域的代码片段,当用户单击“计算”按钮时,信息将显示在editText(文本框)中

enter code here

Button calc2 = (Button)findViewById(R.id.button1);
calc2.setOnClickListener(new View.OnClickListener()


{
    public void onClick(View v)
    {

        EditText number1 = (EditText)findViewById(R.id.editText1);
        EditText number2 = (EditText)findViewById(R.id.editText2);
        EditText number3 = (EditText)findViewById(R.id.editText3);



        double editText1 = Double.parseDouble(number1.getText().toString());
        double Pluspercent = Double.parseDouble(number2.getText().toString());
        double editText3 = Double.parseDouble(number3.getText().toString());

        double Result1 = 0 ;
        double Result2 = 0;

        Result1 =  Pluspercent * 0.01 ;
        Result2 = editText1 * Result1;
        editText3 = editText1 +  Result2 ;


        number3.setText(editText3 + "");

    }
});

enter code here

代码可以工作,但显示为E.你能告诉我用什么代码来简单地让它以十进制显示结果。小数结果应为11,000,000

目前无需担心逗号。

有些语言使用Decimal数据类型,我会考虑这个问题。任何人都知道为什么Android没有这个?

我看了

http://lecturesnippets.com/android-variables-data-types/

显示了数据类型的列表,但Double似乎是最大的容器,并使用了我不想要的Exponent。

感谢您的帮助。

的Al

1 个答案:

答案 0 :(得分:0)

您正在寻找DecimalFormat个对象。您希望将双精度值传递到DecimalFormat.format( ... )方法以获取StringBuffer,然后将要显示的其余文本附加到StringBuffer,然后再将其传递给您EditText

你会对这种方法特别感兴趣:

public StringBuffer format (double value, StringBuffer buffer, FieldPosition position)