gpt4 book ai didi

java - float 不在 SharedPreferences 中返回

转载 作者:行者123 更新时间:2023-11-29 19:43:40 26 4
gpt4 key购买 nike

为什么 float 在另一个 Activity 中没有返回想要的值。所有其他 int 和 Strings 都可以,但 float 没有。

发件人 Activity :

 SharedPreferences prefs = this.getSharedPreferences(
"details", Context.MODE_PRIVATE);
SharedPreferences.Editor edit = prefs.edit();
edit.putInt("weight", weight);
edit.putInt("height", height);
edit.putInt("age", ag);
edit.commit();

Log.d("BMI Height" , String.valueOf(height));
Log.d("BMI Weight" , String.valueOf(weight));

BMI Height and weight in the console are the correct

接收器 Activity :

 SharedPreferences prefs = getSharedPreferences(
"details", Context.MODE_PRIVATE);

int age=prefs.getInt("age", Integer.parseInt("16"));
int weight=prefs.getInt("weight", Integer.parseInt("50"));
int height=prefs.getInt("height", Integer.parseInt("165"));

Log.d("BMI Height" , String.valueOf(height));
Log.d("BMI Weight" , String.valueOf(weight));

float formula = weight / (height * height) * 10000;

Log.d("BMI Formula", String.valueOf(formula));

BMI Height and weight in the console are the still correct, but formula returns 0.0 in the console.

最佳答案

因为您对整数进行数学运算并将结果存储在 float 中。数学仍然是对整数进行的。因此,您将体重 (50) 除以高度*高度(约 10K)。 THat 小于 1,但两个整数相除的结果始终是整数。所以它四舍五入为 0。

要解决这个问题,请使体重和高度 float 。

关于java - float 不在 SharedPreferences 中返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238963/

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