比方说你获得到一个金额的字符串NSString *countStr =@"此处为你得到的数据";
1.[countStr intValue ];最大转换字符串为“2147483647”是不会出错的,哪怕转换大1,也就是当转换字符串为“2147483648”的时候,用该方法转换出来的结果一直都会是“2147483647”,当然,比“2147483647”小的字符串是可以正确转换的
2.[countStr floatValue ];这个转换只有小数点前面只有一位的时候转换结果和字符串一致,其它的都会有偏差
3.[countStr longLongValue ];这个方法最大可转换字符串为“9223372036854775807”,也就是说这个方法转换比它小的任何一个长整形的都是正确的,哪怕是比它大1,转换的时候都会有偏差
4.[countStr doubleValue ];这个方法的话,当你转换有小数点的时候,在小数点前的位数小于11的时候,转换出来的结果是和字符串是一致的,其它情况都会有偏差
以上3、4情况,小数点之后的位数均须按照系统限定位数,超出限制的一定和转换字符串不一致