X
xiegang
Unregistered / Unconfirmed
GUEST, unregistred user!
今天被客户叫去说收费系统总遇到四舍五入有错误,遇到0.5时有时进1有时不进
我调试后发现如:round(22.5) 等于 22
还发现 round(24.5) 等于 24
round(26.5) 等于 26
而 round(23.5) 等于 24
round(25.5) 等于 26
后来明白原来是所谓的四舍五入成双的问题(明显手工都不会这样处理的)
由于客户要求是四舍五入到元的,所以一张单下来跟手工误差可能会有一两元,甚至几元钱,客户比较在意,以前做的系统都是精确到分或角的所以没注意这个问题
请问大家如何解决这个问题,是说服客户接受(似乎有点难),还是改程序(好象挺烦)?
我调试后发现如:round(22.5) 等于 22
还发现 round(24.5) 等于 24
round(26.5) 等于 26
而 round(23.5) 等于 24
round(25.5) 等于 26
后来明白原来是所谓的四舍五入成双的问题(明显手工都不会这样处理的)
由于客户要求是四舍五入到元的,所以一张单下来跟手工误差可能会有一两元,甚至几元钱,客户比较在意,以前做的系统都是精确到分或角的所以没注意这个问题
请问大家如何解决这个问题,是说服客户接受(似乎有点难),还是改程序(好象挺烦)?