gpt4 book ai didi

Java以指数格式解析数字

转载 作者:行者123 更新时间:2023-11-30 08:20:44 27 4
gpt4 key购买 nike

我很难尝试转换字符串

-8.70395364652618e-02

或从 Stringdouble 的类似数量。任何帮助将不胜感激。

我可能问得太仓促了,但这看起来是个好方法吗?

double val = new BigDecimal(string).doubleValue();

最佳答案

首先,double 不是无限精确。您拥有的数字将由最接近 double 值表示 - 您的数字可以表示为 double:

public static void main(String[] args) throws Exception {
BigDecimal val = new BigDecimal("-8.70395364652618e-02");
System.out.println(val);
System.out.println(val.doubleValue());
}

输出:

-0.0870395364652618
-0.0870395364652618

因此标准解析方法将起作用:

String val = "-8.70395364652618e-02";
System.out.println(Double.valueOf(val));
System.out.println(String.valueOf(Double.parseDouble(val)));

不同之处在于 Double.valueOf 将返回一个 Double(对象包装器)而 Double.parseDouble 将返回一个 double(原始类型)。

关于Java以指数格式解析数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25831949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com