gpt4 book ai didi

java - 在字符串上解析 double 给出错误的结果

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:20 26 4
gpt4 key购买 nike

在我的项目中,我从一个 api 获取一个字符串值,需要将 double 值传递给另一个 api。当我尝试将字符串值解析为 double 值时,我没有得到原始数据。

这是代码。

String l1="11352721345377306";
String l2="11352721346734307";
String l3="11352721346734308";
String l4="11352721346734309";

DecimalFormat df = new DecimalFormat(".00");

System.out.println(df.format(Double.parseDouble(l1)));
System.out.println(df.format(Double.parseDouble(l2)));
System.out.println(df.format(Double.parseDouble(l3)));
System.out.println(df.format(Double.parseDouble(l4)));

输出是

11352721345377306.00
11352721346734308.00
11352721346734308.00
11352721346734308.00

出了什么问题?解析有问题吗?我怎样才能恢复原始值。?

编辑:不使用十进制格式:

1.1352721345377306E16
1.1352721346734308E16
1.1352721346734308E16
1.1352721346734308E16

最佳答案

您无法取回原始值。引用这个Java's Floating-Point (Im)Precision .

关于java - 在字符串上解析 double 给出错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34511557/

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