我正在从事BMI计算器技术评估,但仍处于使用公式的阶段。计算BMI的指令为:
说明1:
每个用户的身高都以英尺表示,因此计算需要首先将其转换为米。 提示:高度乘以 0.3048 。
说明2:
BMEye 使用高级算法来计算BMI! BMEye拥有饮食最健康的国家/地区的概念,它们是乍得,塞拉利昂,马里,冈比亚,乌干达,加纳,塞内加尔,索马里,科特迪瓦和伊斯雷尔。 如果用户来自这些国家/地区中的任何一个,则计算出的BMI值将乘以 0.82 ,将其降低一点。
最新说明:
按照上面的指南和提示,让computeBMI使用用户的体重,身高和国家/地区来计算并返回用户的BMI值。
我尝试做的事情:
我试图在本地编辑器的高级文本中运行代码,并且该代码可以正确计算BMI,但是当我将代码带到运行评估的平台Google成绩跟踪器上时,它会引发错误消息:“您的BMI计算不正确! “
有人可以帮助我解决此错误吗?下面是一个功能,该功能通过获取身高,体重和国家/地区来接收用户的对象,以帮助进行计算。
const computeBMI = ({weight, height, country}) => {
const LowBMIcountries = ["Chad", "Sierra Leone", "Mali", "Gambia",
"Uganda", "Ghana", "Senegal", "Somalia", "Ivory Coast", "Israel"];
const bmiRate = 0.82;
let ConvertHeight = height * 0.3048;
let BMI = weight / Math.pow(ConvertHeight,2);
if (LowBMIcountries.includes(country)) {
BMI *= bmiRate;
}
return Math.round(BMI, 2);
};
答案 0 :(得分:1)
该问题没有提及舍入,更不用说您对Math.round
的使用是不正确的。 Math.round接受一个参数,并四舍五入为最接近的整数。如果要两个小数点,请使用toFixed(2)
。
答案 1 :(得分:0)
几天后,我为这个有挑战性的问题提出了正确的答案,我知道将来对其他人会有用。
const computeBMI = ({weight, height, country}) => {
const countries = ["Chad", "Sierra Leone", "Mali", "Gambia", "Uganda",
"Ghana", "Senegal", "Somalia", "Ivory Coast", "Isreal"];
const hm = height * 0.3048;
const ratio = (countries.includes(country) ? 0.82 : 1);
const BMI = (weight / (hm * hm)) * ratio;
return parseFloat(BMI).toFixed(1);
};
答案 2 :(得分:0)
研究以下内容。
entervar computeBMI = function({weight,height,country}) {
const bmiScale = 0.82;
let feetToMeter = 0.3048;
const countries = ['Chad','Sierra Leone','Mali','Gambia','Uganda',
'Ghana','Senegal','Somalia','Ivory Coast','Isreal'];
const heightinmeter = (height * feetToMeter);
let bim = ((weight)/(heightinmeter ** 2));
if(countries.includes(country)) {bim = bim * bmiScale}
var fixednum = bim.toFixed(1);
return fixednum;
}