编程语言
首页 > 编程语言> > 在JAVA中将数字从科学计数法转换为十进制

在JAVA中将数字从科学计数法转换为十进制

作者:互联网

我有一个问题:如果小数点前有8位或更多位数字,则会以科学计数法显示数字.
有没有简单的方法可以通过库或其他方式将该数字转换为十进制?
我开始创建一种手动方法来解析它,但似乎过于复杂.

任何帮助将不胜感激.

input example: 1.0225556677556E7

编辑:我还需要能够识别以科学计数法表示的数字

解决方法:

您可以使用NumberFormat轻松实现目标.

String scientificNotation = "1.0225556677556E7";
Double scientificDouble = Double.parseDouble(scientificNotation);
NumberFormat nf = new DecimalFormat("################################################.###########################################");
decimalString = nf.format(scientificDouble);

要回答有关匹配科学符号字符串的其他问题,可以使用regex和String.matches().尽管获得误报的可能性应该非常低,但这并不是一个完美的选择:

if(myString.matches("-?[\\d.]+(?:E-?\\d+)?")){
    //do work
}

标签:scientific-notation,java
来源: https://codeday.me/bug/20191120/2042216.html