微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

BigDecimal 中的 NumberFormatException 到 int 或 long(java)

如何解决BigDecimal 中的 NumberFormatException 到 int 或 long(java)


我在Java中编码,我想将BigDecimal数据转成int或long,数据名为“recovered”,值为“889.0”,结构如下:
[在此处输入图片说明][1]

我尝试了 Long.valueOf(recovered.toString()) 和 Integer.valueOf(recovered.toString()),但都生成了 NumberFormatException。

我也试过恢复了 recovery.toString().getBytes() 并且我得到了: [在此处输入图片说明][2]

我怎样才能拥有“889.0”的 int 或 long 值?
谢谢你。 [1]:https://i.stack.imgur.com/GF3tD.jpg [2]:https://i.stack.imgur.com/TXNBb.jpg

解决方法

字符串 "889.0" 不是转换为 LongInteger 的有效格式,它是十进制格式,您可以将其转换为 FloatDouble

如果您想要一个整数,您可以先将其转换为浮点数,然后使用 Float.intValue 将其转换为整数。

Float f = Float.valueOf(recovered.toString();
Integer i = f.intValue();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。