java中如何将十进制数转换为整数
嗨,我有一个输出为“1.234567E6”和类似。现在,我希望将输出转换为1234567。你能建议怎么做吗?拆分是一种方式,但E6部件处理我不确定java中如何将十进制数转换为整数,java,string,numbers,Java,String,Numbers,嗨,我有一个输出为“1.234567E6”和类似。现在,我希望将输出转换为1234567。你能建议怎么做吗?拆分是一种方式,但E6部件处理我不确定 此外,输出在性质上也会有所不同,有时是小数点后6位,有时是10位。您可以使用Double.valueOf然后获取长值 long val = Double.valueOf("1.234567E6").longValue(); 或者将BigDecimal与longValueExact()一起使用,以避免舍入错误 long val = new BigDe
此外,输出在性质上也会有所不同,有时是小数点后6位,有时是10位。您可以使用
Double.valueOf
然后获取长值
long val = Double.valueOf("1.234567E6").longValue();
或者将BigDecimal与longValueExact()
一起使用,以避免舍入错误
long val = new BigDecimal("1.234567E10").longValueExact();
注意:longValueExact()
如果此BigDecimal有任何小数部分,将引发算术异常
您可以检查使用
DecimalFormat
,它是一致且清晰的方法:
DecimalFormat decimalFormat = new DecimalFormat("0");
System.out.println( decimalFormat.format( 1.234567E6 ) );
在字符串大小写中:
System.out.println( decimalFormat.format( Double.parseDouble("1.234567E6") ) );
两种情况下的输出
1234567
请参阅运行中的代码: