有没有Javaer大佬, 急急急

有没有Java佬运行下这个代码, 并说说神奇之处是为什么呢

public class Main {
    public static void main(String[] args) {
        String[] numbers = {"4.182E+6", "4.182E+7"};
        for (String number : numbers) {
            double num = Double.parseDouble(number);
            System.out.println(number + " : " + num);
        }
    }
}
2 个赞

你要作甚

运行下试试, 我不李姐

我不是搞爪洼的,但是我猜是parse那边挂了

你这怎么是科学计数法

1 个赞

1 个赞

如果我没记错,科学技术法解析的时候要求字母小写来着

1 个赞

先不急着下结论, 这是官方JDK包 版本 :sweat_smile:

不会 下一个

这是为什么呢

在打印浮点数时候 Java根据数字的大小和精度来自动决定是使用科学记数法还是普通的数字形式来展示这个数

1 个赞

那我开idea试一波

较大或较小的数都会用科学记数法输出

我甚至 不想动脑子 昨晚没睡觉 今天来上班

jls还是 jvms

看一下Double.toString()方法的注释

1 个赞

你是指在那处理的吗 这个Java内置的 你点进去看看就知道了


没啥 就是java在浮点数超过7位数就会科学计数法

3 个赞

没毛病