You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

纯HTML实现BMI计算器 计算结果小数点位置异常问题求解

纯HTML BMI计算器计算结果异常修正

错误原因

当前结果数值偏差来自单位不匹配:

  • BMI标准计算公式为 体重(kg) ÷ 身高(m)的平方
  • 现有代码直接以厘米为单位的身高值参与计算,分母比正确值大10000倍,因此结果会比正确值小四个数量级,出现0.002794这类错误输出。

修正方案

无需引入独立JS脚本,直接修改<form>标签的oninput内联表达式即可,同步完成单位换算、数值格式化:

  • 将输入的厘米身高除以100,转换为公式要求的米单位
  • 调用toFixed(2)保留两位小数,自动消除无意义前置零
  • 追加字符串替换逻辑,把小数点替换为需要的逗号分隔格式
  • 额外建议将输入框从text类型改为number类型,避免非数字输入导致计算错误,同时移动端会自动唤起数字键盘。

修正后可直接运行的代码

<form oninput="wynik.value = (waga.value / ((wzrost.value/100) * (wzrost.value/100))).toFixed(2).replace('.', ',')">
    <input type="number" name="waga" autofocus placeholder="Podaj swoją wagę w kg">
    <input type="number" name="wzrost" placeholder="Podaj swój wzrost w cm"><br>
    <output id="wynik"></output>
</form>

输入体重80kg、身高169cm测试时,输出结果为27,94,完全符合预期。

内容的提问来源于stack exchange,提问作者lolorekkk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 12:21:20