所以我正在尝试使用以下方法计算我的bmi。
double bmi = weight / ((height * 100) * (height * 100));
bmi = Math.round(bmi * 100.0) / 100.0;
从第一行开始,我得到一个如下答案:
2.3457310760477412E-7
这就是为什么我想把它舍入到一个或两个小数。但这导致bmi为0.0。
我也尝试过decimalformat,它也返回0.我做错了什么?
编辑 - 解决方案
问题是我的公式!厘米应除以10而不是乘以! 谢谢!
//安德烈
答案 0 :(得分:2)
您从第一行2.3457310760477412E-7
获得的数字已经很小了。它大致等于2.345/10000000
或0.00000023457
。这非常接近于零。 Math
按预期工作,将数字四舍五入为最接近的整数 - 0
。
错误在输入变量中或在您使用的公式中。也许你的身高是厘米而不是米?
答案 1 :(得分:0)
double weight = 89.0;
double height = 169.0;
double bmi = (weight / ((height * height) / 100)) * 100;
要澄清,重量和高度是公制(KG / CM) - 您需要将CM中的高度转换为米(因此除以100),然后将输出乘以100以得出BMI。