在具有数字数据类型的表中,我存储了0.4

    String colLabel = rsMetadata.getColumnLabel(i);
    recordMap.put(colLabel.toLowerCase(), rs.getString(colLabel));


我使用rs.getString来获取数据。

但是在Java中我得到的是4.00000000000000022204460492503130808473E-01

我该怎么办。这是每次使用rs.getString的通用代码

最佳答案

解决方法是

String colLabel = rsMetadata.getColumnLabel(i);
recordMap.put(colLabel.toLowerCase(), String.valueOf(Double.parseDouble(rs.getString(colLabel))));


演示:

public class Main {
    public static void main(String[] args) {
        System.out.println(String.valueOf(Double.parseDouble("4.00000000000000022204460492503130808473E-01")));
    }
}


输出:

0.4

10-08 13:19