Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中如何将十进制数转换为整数_Java_String_Numbers - Fatal编程技术网

java中如何将十进制数转换为整数

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

嗨,我有一个输出为“1.234567E6”和类似。现在,我希望将输出转换为1234567。你能建议怎么做吗?拆分是一种方式,但E6部件处理我不确定


此外,输出在性质上也会有所不同,有时是小数点后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

请参阅运行中的代码: