java 转化数据类型小问题

“1.338035e+12”这是一个string,怎么把它变成long型本来这样就能搞定了longl=(long)1.338035e+12;,但变成了string型怎么转... “1.338035e+12” 这是一个string,怎么把它变成long型
本来这样就能搞定了long l=(long) 1.338035e+12;,但变成了string型怎么转化,就是讲这个string转化为他对应的long型
展开
 我来答
星翼之翔
2013-11-14 · TA获得超过1171个赞
知道小有建树答主
回答量:398
采纳率:100%
帮助的人:151万
展开全部

刚才看错问题了,没看到你用了科学计数。而且使用了e,这样的话转化为double比较好,不会丢失精度,转为long的话就有可能了。

正确的转化方法如上图所示。字符串写法需要改一下,加号要去掉哈。

虽然是个小问题,就拓展地说一下,所谓知一而知一百

实现你的要求,调用Long.parseLong(str)或者Long.valueOf(str)方法,都可以使字符串转为长整型,但是必须保证字符串是数字形式,不能包含数字以外的字符,如果是整型数字,小数点也不能有。区别是前者得到的是基本类型long,后者得到前者的包装类型Long,在jdk1.5及以上版本中,基本类型和其对应的包装类(如long对应Long,int对应Interger,float对应Float)可以直接隐式的转换,所以在使用上差异很小。

顺便看图中的代码,我特意把最后一个方法没有写全,你可以看到,除了可以把字符串转为各种基本类型,还可以各种类型的数据,通过String.valueOf(…)转为为字符串,它可以接收多种类型的数据,将其转为字符串,也就说明java中的字符串,可以表示任何类型的数据,非常方便。

希望我的回答能帮助你!

a13680785865
2013-11-14 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:32.8万
展开全部
Long.valueOf(string)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z_yt12345
2013-11-15
知道答主
回答量:9
采纳率:0%
帮助的人:3.7万
展开全部
用Long.paseLong(String)返回值就是一个long
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式