为什么这样计算:双精度数= (13 /(13+12+13))
等于0?
我想应该在0.34左右!
谢谢!
发布于 2011-06-12 04:11:11
因为您正在用int来划分int。你应该做的是
double number = (13.0 /(13.0+12.0+13.0));发布于 2011-06-12 04:06:53
都是整数。所以它做整数除法。并因此截断为下一个较低(更接近0)的整数。
在像13.0这样的数字上添加一个.0,使其成为双精度数。
发布于 2011-06-12 04:06:25
因为您在公式中使用了所有INT -它也将被视为结果的INT。
试着这样做:
var result = 13.0 / (13.0 + 12.0 + 13.0)你的结果将是:
0.34210526315789475https://stackoverflow.com/questions/6318252
复制相似问题