java - 如何在java中将小数转换为整数
问题描述
嗨,我有一个输出为“1.234567E6”和类似的。现在我希望我的输出转换为 1234567。你能建议如何实现这个吗?拆分是一种方法,但我不确定 E6 部分的处理。
此外,输出的性质也会有所不同,有时是小数点后 6 位,有时是 10
解决方案
您可以使用Double.valueOf
然后获取长值
long val = Double.valueOf("1.234567E6").longValue();
或使用 BigDecimal withlongValueExact()
以避免舍入错误
long val = new BigDecimal("1.234567E10").longValueExact();
注意:longValueExact()
如果此 BigDecimal 有任何小数部分,则抛出算术异常。
你可以在这里查看演示
推荐阅读
- javascript - 为什么 node js 会这样?
- javascript - 访问超类上的类字段
- python - 用 Beautiful Soup 在同名标签中抓取信息
- sql - 在postgres中将日期从时间戳转换为纪元
- python - 如何在响应 ElasticSearch - Python 中只返回一个字段?
- json - PowerShell:在传递给外部程序的字符串中转义双引号的最佳方法?例如,一个 JSON 字符串
- java - 用户对字符数组的输入
- java - SoapFaultClientException:没有这样的操作
- java - 在后台或使用 Java 以最小化模式运行命令提示符
- oracle - 如何让 oracle 添加 .5 而不是将数字四舍五入为 1