金融软件运算时 不能用float/double这种二进制浮点数(你是做这个的,应该比我清楚),需要使用十进制浮点数,比如,GCC有 decimal的扩展,Qt也有其他人写的 decimal 的类。或者直接使用整数进行运算。
不过,对你从界面读值来说,这应该不是什么问题。你需要的无非是将其转换成decimal类型或者整数类型,而后进行运算。转换的过程中,精度是完全可控的。
比如 2177.1999999... 这样的数,你转换成 deciaml("2177.20") 或者整数 217720 都很容易办到。