1
superpeaser 2015-11-01 02:04:35 +08:00 via iPhone
用字符串
|
2
jesse_luo 2015-11-01 02:10:58 +08:00
用 doubleValue 试试呗
用 string 传试试呗 用分作为单位,传整形试试呗 |
3
zhangchioulin OP @jesse_luo doubleValue 转也会出题
|
4
YuJianrong 2015-11-01 17:03:26 +08:00 1
1. 不应该说浮点精度不够,而是浮点本来就无法精确表达某些数字,你再提高的精度(不管是 64 位浮点还是 128 位浮点)都一样。
2. 但是,一个统一的浮点<-->字符串转换方法理论上能够无损地转换,所以如果: [源代码有 a=24.72 字符串,经过编译产生变量]->[服务器内存中的 float] -> [服务器内存中的字符串] -> [json/xml 网络数据传输] -> [客户端内存字符串] ->[客户端内存的 float] ->[客户端内存中显示用字符串] ->[显示给用户] 这里面所有的浮点<-->字符串转换方法是统一的话,用户就会看到源代码的 24.72 。 然而如果任何一步并不统一(考虑到你后台不大可能是 ObjC 的话),或者这个 24.72 不是源代码而是计算而来的话,显然就不能保证用户最后看到啥了。 3. 说那么多的意思是精确的话要么*100 按整数来(也就是用定点小数不要用浮点),要么用字符串或者前后统一的 BigDecimal |
5
zhangchioulin OP @YuJianrong 感谢
|