字符串 intValue、floatValue、doubleValue、longLongValue 方法可以正确转换的位数或者大小
2015-09-21 16:57
435 查看
在我们这些程序员向服务器请求数据的时候,有的时候请求到的数据往往有对应数据不完全的情况,有的数据需要我们来进行运算(比方说获得到两个金额的字符串,但是要把他们加起来还是需要转换的)下面我给大家说一下我研究到的一些限制,有不对的地方,还望留言指正,谁对咱听谁的
比方说你获得到一个金额的字符串NSString *countStr =@"此处为你得到的数据";
1.[countStr intValue ];最大转换字符串为“2147483647”是不会出错的,哪怕转换大1,也就是当转换字符串为“2147483648”的时候,用该方法转换出来的结果一直都会是“2147483647”,当然,比“2147483647”小的字符串是可以正确转换的
2.[countStr floatValue ];这个转换只有小数点前面只有一位的时候转换结果和字符串一致,其它的都会有偏差
3.[countStr longLongValue ];这个方法最大可转换字符串为“9223372036854775807”,也就是说这个方法转换比它小的任何一个长整形的都是正确的,哪怕是比它大1,转换的时候都会有偏差
4.[countStr doubleValue ];这个方法的话,当你转换有小数点的时候,在小数点前的位数小于11的时候,转换出来的结果是和字符串是一致的,其它情况都会有偏差
以上3、4情况,小数点之后的位数均须按照系统限定位数,超出限制的一定和转换字符串不一致
比方说你获得到一个金额的字符串NSString *countStr =@"此处为你得到的数据";
1.[countStr intValue ];最大转换字符串为“2147483647”是不会出错的,哪怕转换大1,也就是当转换字符串为“2147483648”的时候,用该方法转换出来的结果一直都会是“2147483647”,当然,比“2147483647”小的字符串是可以正确转换的
2.[countStr floatValue ];这个转换只有小数点前面只有一位的时候转换结果和字符串一致,其它的都会有偏差
3.[countStr longLongValue ];这个方法最大可转换字符串为“9223372036854775807”,也就是说这个方法转换比它小的任何一个长整形的都是正确的,哪怕是比它大1,转换的时候都会有偏差
4.[countStr doubleValue ];这个方法的话,当你转换有小数点的时候,在小数点前的位数小于11的时候,转换出来的结果是和字符串是一致的,其它情况都会有偏差
以上3、4情况,小数点之后的位数均须按照系统限定位数,超出限制的一定和转换字符串不一致
相关文章推荐
- iOS经典讲解之UICollectionView
- A new session could not be created. (Original error: Requested a new session but one was in progress) )错误解决办法
- POJ 2533 Longest Ordered Subsequence (DP动态规划)
- PAT研究生入学考试2015.03第四题Build A Binary Search Tree (30) 题解
- List<data> 数据转为easyui-datagrid json数据格式
- UILabel自适应高、宽
- 开源中国源码学习UI篇(一)之FragmentTabHost的使用分析
- SharePoint Search之(两)持续抓取Continues crawl
- Java中的队列:java.util.Queue接口
- [转] Gradle中的buildScript代码块
- UITextView的使用记录
- 保持UIImagePickerController后导航栏风格统一
- [Android Pro] UI设计师不可不知的安卓屏幕知识
- 《Flume 1.6.0 User Guide》基础入门
- CruiseControl.Net来进行持续化集成
- String、StringBuffer、StringBuilder
- request.getHeader()
- 应用:ValueStack
- ${pageContext.request.contextPath}的作用【转载】
- 与数据库连接的页面增删改查 的easyui实现(主要是前端实现)