1、问题描述:服务器返回的double类型9.9、4.94的数字时 2、之前处理方式是 :(从内存、cpu计算来说double都是比较合适的,一般情况下都用double) goodsPrice.floatValue = 9.89999961 ==> 保留2位小数点9.89 3、现在的解决方法是: goodsPrice.doubleValue = 9.9000000000000003 ==> 保留2位小数点9.90 4、其他的解决方法: 服务器返回的数据全部设置为String类型,就不会出现这样的问题 从内存、cpu计算来说float都是比较合适的,一般情况下都用float
double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
解决方式之一:
当设计到金钱的计算.但是利用double类型数据会不稳定.