咱们在开发中为了防止浮点数有精度问题,特意有NSDecimalNumber进行计算,来解决精度问题。
但是在开发中,有的时候,面对8.2这个情况也要慎重考虑,比如服务端返回number,如果用string来接收的话,很可能接收到的就是8.1999999,那么怎么来处理这种情况呢,如果服务端返回number类型的话,一定要用NSNumber来接收,对于要转转成NSString或NSDecimalNumber的话。
需要要做以下的措施。
对于转换成NSString,要通过NSNumberFormatter进行转换,如果要转换成NSDecimalNumber,需要先转换成NSString,然后再通过[NSDecimalNumber decimalNumberWithString:str] 进行转换。






网友评论