我正在尝试简单计算浮点值,但输出不正确
Log.i("100/50", Float.toString(100/50));
Log.i("100/100", Float.toString(100/100));
Log.i("100/250", Float.toString(100/250));
Log.i("1/5", Float.toString(1/5));
logcat输出
11-10 23:36:23.677: I/100/50(28562): 2.0
11-10 23:36:23.677: I/100/100(28562): 1.0
11-10 23:36:23.685: I/100/250(28562): 0.0
11-10 23:38:23.685: I/1/5(28562): 0.0
它是一个简单的浮点计算,为什么它显示这样的答案
答案 0 :(得分:4)
你需要使用浮点数而不是整数,尝试Log.i("100/50", Float.toString(100f/50));
这使得Java使用浮点运算,否则它会进行int除法然后将结果转换为浮点数
答案 1 :(得分:1)
这样做
Log.i("100/250", Float.toString(100f/250f));
Log.i("1/5", Float.toString(1f/5f));
输出
11-11 12:25:32.198: I/100/250(351): 0.4
11-11 12:25:32.208: I/1/5(351): 0.2
Float.toString采用输入浮点
public static String toString (float f)
where f is the float to convert to a string.
有关详情,请参阅Developers Website。
答案 2 :(得分:0)
使用此代码。
Log.i(“100/50”,Float.toString(100 / 50f)); Log.i(“100/100”,Float.toString(100 / 100f)); Log.i(“100/250”,Float.toString(100 / 250f)); Log.i(“1/5”,Float.toString(1 / 5f));
希望它对你有用。
答案 3 :(得分:0)