我正在 Android Studio 中编写一个简单的百分比计算器 android 应用程序。这是我的伪装:
resultView = (TextView) findViewById(R.id.ResultView);
percentageText = (EditText) findViewById(R.id.PercentageInput);
numberText = (EditText) findViewById(R.id.NumberInput);
Button calcButton = (Button) findViewById(R.id.Calculate_btn);
calcButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
if(percentageText.length() != 0 && numberText.length() != 0)
{
float percentage = Float.parseFloat(percentageText.getText().toString()) / 100;
float result = percentage * Float.parseFloat(numberText.getText().toString());
resultView.setText(Float.toString(result));
}
else if(percentageText.length() == 0 && numberText.length() == 0)
{
resultView.setText("Don't be dumb...");
}
}
});
所以看起来一切正常。简单的百分比总是正确的。 50%100=50, 25%50=12.5 ... 但后来我得到 3 和 6。3%10= 0.29999998 ... 不应该是 .3 吗?和 60%100= 60.000004 ... 有什么帮助吗?
最佳答案
这与 double
变量的位数有限有关。这就像说 1/3 = 0.33333333
实际上应该等于 0.33333333...
永远!
关于java - 为什么我的 Java 百分比略有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35885031/