2

我有一个简单地转换单位的函数,我的目标是以扩展形式显示输出数字,如显示完整数字,而不是“3.0E7”。代码如下:

public void convertUnits(View view)
{
    EditText fromNumberEditText = (EditText)view.findViewById(R.id.fromField);
    TextView toNumberEditText = (TextView)view.findViewById(R.id.toField);
    String fromUnitString = selectedList[selectedLeftItem];
    String toUnitString = selectedList[selectedRightItem];

    float fromUnit = Float.parseFloat(fromUnitString.split(",")[2]);
    float toUnit = Float.parseFloat(toUnitString.split(",")[2]);
    float fromNumber = Float.parseFloat(fromNumberEditText.getText().toString());
    float toNumber = (fromNumber * fromUnit) / toUnit;
    toNumberEditText.setText(Float.toString(toNumber));
}

toNumberEditText 有选取框,因此我希望它显示扩展的数字,即 30000000 而不是 3.0E7。每当 toNumber 浮点数超过 7 位时,它就采用“floating e”形式。有没有办法在它这样做之前改变数字的数量,或者完全删除它?

4

1 回答 1

1

使用 String.format():

toNumberEditText.setText(String.format("%f", toNumber));
于 2013-10-14T19:07:36.487 回答