我刚刚遇到了一个奇怪的问题。我在 MySQL 中有以下表格:
table:deposits
user_id amount
1 0.50
table:withdrawls
user_id amount
1 0.01
1 0.01
1 0.01
为了获得平衡,我运行这个:
SELECT (IFNULL((SELECT sum(amount) FROM deposits WHERE user_id = 1),0) - IFNULL((SELECT sum(amount) FROM withdrawls WHERE user_id = 1),0) ) as balance
然后我将其返回为
return (float) $row['balance']
由于某些奇怪的原因,结果是 float(0.47000000067055)。有谁知道为什么会有奇怪的四舍五入?