问题是,当我从一个表中向视图中添加两个或更多个双精度数,而不是给我正确的结果时,它会增加大约十个左右的数字.例如0.5 + 1.5 = 1.99999999998或5.5 + 8.5 = 14.0000000001.有任何想法吗?(我知道这是一个n00b的问题,我记得在9年级的考试中必须处理类似的东西,但我记不清我当时的表现如何:P)
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_format
你可以用这种方式格式化数字,如果这是你的后续?
将1和1添加为浮点数或双精度数不应该产生除2之外的任何值.
我发现很难相信除了2之外什么都不会出现0.5 + 1.5.
所有这些数字都可以在二进制浮点中正确表示.
我讨厌说我不相信你的例子,但我不相信.:-)
但是,我相信你可能会遇到像1.1这样的数字的问题.
为什么?因为1/10结果是二进制的重复小数.
尝试在十进制和二进制表示之间转换浮点数时出现问题.有些数字使旅行很好,但其他数字只是近似的.
但是,如果你的例子确实如此,我不知道发生了什么,我很想知道.