回 帖 发 新 帖 刷新版面

主题:int((2.3-2.2)*10)/10 = ?

i=int( 0.1       *10)/10    '这时 i 的值是 .1
i=int((2.32-2.22)*10)/10    '这时 i 的值是 0

为什么?

请看看这里:
print using "#.#######";2.3-2.2

回复列表 (共4个回复)

沙发

浮点数本身就不可能被精确的存储下来
有些误差也是正常的

板凳


去看看运算优先级

3 楼

对,优先级

i=int( 0.1       *10)/10    '这时 i 的值是 .1
i=    int(      ( (2.32-2.22)*10)    )  /10   就可以拉吧


先算  int后算除法

4 楼

混帐

我来回复

您尚未登录,请登录后再回复。点此登录或注册