字符串 intValue、floatValue、doubleValue、longLongValue 方法可以正确转换的位数或者大小


在我们这些程序员向服务器请求数据的时候,有的时候请求到的数据往往有对应数据不完全的情况,有的数据需要我们来进行运算(比方说获得到两个金额的字符串,但是要把他们加起来还是需要转换的)下面我给大家说一下我研究到的一些限制,有不对的地方,还望留言指正,谁对咱听谁的


            比方说你获得到一个金额的字符串NSString *countStr =@"此处为你得到的数据";



1.[countStr  intValue ];最大转换字符串为“2147483647”是不会出错的,哪怕转换大1,也就是当转换字符串为“2147483648”的时候,用该方法转换出来的结果一直都会是2147483647”,当然,比2147483647小的字符串是可以正确转换的



2.[countStr  floatValue ];这个转换只有小数点前面只有一位的时候转换结果和字符串一致,其它的都会有偏差


3.[countStr  longLongValue ];这个方法最大可转换字符串为“9223372036854775807”,也就是说这个方法转换比它小的任何一个长整形的都是正确的,哪怕是比它大1,转换的时候都会有偏差


4.[countStr  doubleValue ];这个方法的话,当你转换有小数点的时候,在小数点前的位数小于11的时候,转换出来的结果是和字符串是一致的,其它情况都会有偏差


以上3、4情况,小数点之后的位数均须按照系统限定位数,超出限制的一定和转换字符串不一致

你可能感兴趣的:(OC)