首页 > 解决方案 > 如何在java中将小数转换为整数

问题描述

嗨,我有一个输出为“1.234567E6”和类似的。现在我希望我的输出转换为 1234567。你能建议如何实现这个吗?拆分是一种方法,但我不确定 E6 部分的处理。

此外,输出的性质也会有所不同,有时是小数点后 6 位,有时是 10

标签: javastringnumbers

解决方案


您可以使用Double.valueOf然后获取长值

long val = Double.valueOf("1.234567E6").longValue();

或使用 BigDecimal withlongValueExact()以避免舍入错误

long val = new BigDecimal("1.234567E10").longValueExact();

注意:longValueExact()如果此 BigDecimal 有任何小数部分,则抛出算术异常。

你可以在这里查看演示


推荐阅读