我正在尝试简单的浮点值计算,但是输出不正确。
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这是一个简单的浮子计算,为什么它会显示这样的答案。
发布于 2013-11-11 06:54:52
您需要使用浮点数而不是int,尝试Log.i("100/50", Float.toString(100f/50));,这使Java使用浮点数算法,否则它执行int除法,然后将结果转换为浮点数。
发布于 2013-11-11 06:56:49
就像这样
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.2Float.toString采用输入浮点
public static String toString (float f)
where f is the float to convert to a string.有关开发商网站的更多信息可供查阅。
发布于 2013-11-11 06:54:36
用这个代码。
Log.i("100/50",Float.toString(100/50f));Log.i("100/100",Float.toString(100/100 F));Log.i("100/250",Float.toString(100/250 F));Log.i("1/5",Float.toString(1/5f));
希望它能对你有用。
https://stackoverflow.com/questions/19900402
复制相似问题