gpt4 book ai didi

java - 小数点后 8 位 double 的微小添加 : Android

转载 作者:行者123 更新时间:2023-12-01 18:51:33 27 4
gpt4 key购买 nike

我对此还是有点菜鸟的态度。我对发生的事情感到困惑。我将 3.542 存储在 sqlite 数据库中。使用 Firefox sqlite 查看器检查数据库证实了这一点。然后我使用以下代码检索该值:

public double getCaffPer(String type) {
SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
builder.setTables(DRKTYPES);
String[] columns = { MGCAFF };
String[] selectionArgs = { type };
Cursor cursor;
cursor = builder.query(ourDatabase, columns, TYPE + "=?",
selectionArgs, null, null, null);
float result = -1;
if (cursor.getCount() != 0) {
cursor.moveToFirst();
result = cursor.getFloat(0);
}
cursor.close();
return result;
}

调试显示结果值为 3.542。但后来在我的代码中我调用这个方法:

double caff = helper.getCaffPer(typeName);

它给了我 3.5420000553131104。我知道这没有太大区别,但我很困惑为什么要添加最后的内容。任何帮助,将不胜感激。

最佳答案

出现此行为的原因是您将 result 声明为 float,但 getCaffPer() 返回 double。 Java 在两种类型之间进行静默转换,从而引入输出差异。

关于java - 小数点后 8 位 double 的微小添加 : Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15753713/

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