社区
Java SE
帖子详情
关于Integer.parseInt()的问提
snoopymyself
2009-08-13 07:40:40
为什么double d = Double.parseDouble("52.54");是正确 而int i = Integer.parse.Int("52.54"); 却不正确,有哪位能给指点下迷津。
...全文
191
21
打赏
收藏
关于Integer.parseInt()的问提
为什么double d = Double.parseDouble("52.54");是正确 而int i = Integer.parse.Int("52.54"); 却不正确,有哪位能给指点下迷津。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JasonYao
2009-08-14
打赏
举报
回复
强制转换 int i = (int)52.54;
qiubojuncode
2009-08-14
打赏
举报
回复
[Quote=引用 5 楼 poimarine 的回复:]
int number = (int)(Double.parseDouble(52.54));
[/Quote]
正确
snoopymyself
2009-08-14
打赏
举报
回复
谢谢各位,本人菜鸟一个,不过大家的解答倒是看明白了 ,THanks!!呵呵
charity_2Bt
2009-08-14
打赏
举报
回复
[Quote=引用 6 楼 yanliang_xt 的回复:]
引用 4 楼 wangsir1 的回复:
在java中int型是32位的而double是64位的,所以不可以把double型的数转换成int型,反之可以的。
可以相互转化,只是一个是强制,一个是自动转化而已。
[/Quote]就是这个意思,大转小可自动转换,小转大则需强制转换,有可能会丢失数据,如int i = (int)52.54; 就会丢失数据(丢失小数位,注意不会四舍五入)!!其实小向大转有时也会不准确!
sunmengsimon
2009-08-13
打赏
举报
回复
[Quote=引用楼主 snoopymyself 的回复:]
为什么double d = Double.parseDouble("52.54");是正确 而int i = Integer.
parse.Int
("52.54"); 却不正确,有哪位能给指点下迷津。
[/Quote]应该是parseInt把中间那个点去掉试试呢???
hyhymn
2009-08-13
打赏
举报
回复
[Quote=引用 10 楼 blliy117 的回复:]
可以看一下Integer.parseInt("52.54") 的实现
原理自然就出来了。
[/Quote]
Up。
晴天v1
2009-08-13
打赏
举报
回复
楼上的都解释清楚了,我觉得楼主对这种问题应该先自己想想,实在不明白再来问,虽然我也是菜鸟。
ccnadogteam
2009-08-13
打赏
举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
那个又不是整型,怎么解析啊?
[/Quote]
支持1楼
ccnadogteam
2009-08-13
打赏
举报
回复
[Quote=引用楼主 snoopymyself 的回复:]
为什么double d = Double.parseDouble("52.54");是正确 而int i = Integer.parse.Int("52.54"); 却不正确,有哪位能给指点下迷津。
[/Quote]
晕,点错了不好意思,呵呵
ccnadogteam
2009-08-13
打赏
举报
回复
[Quote=引用楼主 snoopymyself 的回复:]
为什么double d = Double.parseDouble("52.54");是正确 而int i = Integer.parse.Int("52.54"); 却不正确,有哪位能给指点下迷津。
[/Quote]
支持高人
ccsongdi
2009-08-13
打赏
举报
回复
int 向double转换是小空间向大空间转换,需要强制转换
blliy117
2009-08-13
打赏
举报
回复
可以看一下Integer.parseInt("52.54") 的实现
原理自然就出来了。
aa870816
2009-08-13
打赏
举报
回复
Java中,从小的范围转换到大的范围时时自动的,
反之则需要强制类型转换~~~
liujiajun8888
2009-08-13
打赏
举报
回复
String str = "12.3";
double i = Double.parseDouble(str);
int j = (int)i;
这样吧
izard999
2009-08-13
打赏
举报
回复
抛出NumberFormatException. Integer.parse.Int()只能转换整形的..
yanliang_xt
2009-08-13
打赏
举报
回复
[Quote=引用 4 楼 wangsir1 的回复:]
在java中int型是32位的而double是64位的,所以不可以把double型的数转换成int型,反之可以的。
[/Quote]
可以相互转化,只是一个是强制,一个是自动转化而已。
poimarine
2009-08-13
打赏
举报
回复
int number = (int)(Double.parseDouble(52.54));
WangSir1
2009-08-13
打赏
举报
回复
在java中int型是32位的而double是64位的,所以不可以把double型的数转换成int型,反之可以的。
yanliang_xt
2009-08-13
打赏
举报
回复
“52.54"是一个字符串,含有小数,它怎么可能转化为整呢》
肯定会出现格式错误
YY_MM_DD
2009-08-13
打赏
举报
回复
hehe
加载更多回复(1)
Integer
.valueof()和
Integer
.
parseInt
()的区别
本文详细解析了
Integer
.valueOf()方法的内部实现,包括其高效性、缓存机制以及在不同情况下的行为表现,如基本类型转换、String转换及缓存范围内外的处理。
Integer
.valueOf()和
Integer
.
parseInt
()的用法
本文详细解析了Java中
Integer
.valueOf()与
Integer
.
parseInt
()的区别与联系。解释了这两个方法如何将字符串转换为整数,以及它们返回值类型的差异。同时,介绍了自动装箱和自动拆箱的过程。
java中
Integer
.get
Integer
()、
Integer
.valueOf()、
Integer
.
parseInt
()的区别
本文介绍了
Integer
.get
Integer
()、
Integer
.valueOf()、
Integer
.
parseInt
()三种方法。
Integer
.get
Integer
()根据系统属性名称获取整数值;
Integer
.valueOf()解析字符串返回
Integer
对象;
Integer
.
parseInt
()解析字符串返回int对象。还阐述了三种方法的注意事项及区别,如get
Integer
()一般不建议用,
parseInt
()和valueOf()在比较时有差异。
Integer
.
parseInt
()和
Integer
.valueOf()有什么区别
本文详细解释了Java中
Integer
.
parseInt
()和
Integer
.valueOf()的区别。
parseInt
()用于将字符串转换为int基本类型,而valueOf()则返回
Integer
对象。此外还介绍了Java中的原始数据类型与包装类的相关概念。
Integer
.
parseInt
()什么意思?
本文详细解析了Java中
Integer
.
parseInt
()方法的功能与使用场景,通过实例对比了字符串与整型数据之间的转换过程,强调了
parseInt
()在数据类型转换中的重要性。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章