为什么 Double return 来自我的数据库的错误数据?

Why does Double return the wrong data from my DB?

我的数据库中有一个号码 2250.67

我是这样取的

Double doubleBalance = (double) getBalance();

这就是它的输出2250.0

不应该输出2250.67

我做错了什么?

既然你说了

I have a number in my database 2250.67

我假设上述 dB 字段的数据类型是 decimal

检查在获取数据时您是否在应用程序代码中设置了正确的数据类型。

假设您使用 SQLite 来存储数据,必须注意它支持提到的数据类型 here

如果要存储和使用double值,可以使用以下方法

public static Double stringToDouble (String x) {
    if (x !=null)
        return Double.parseDouble(x);
    return null;
}

public static String doubleToString (Double y) {
    if (y != null)
        return String.valueOf(y);
    return null;
}

当您将其存储在数据库中时使用 doubleToString(),当您从数据库中获取它以用于您的应用程序时使用 stringToDouble(),如 this answer 中所述。