PHP计算BMI如何去除多余小数获得符合要求的精度结果
问题原因
你得到的结果偏差过大不是小数位数的问题,是身高单位未做转换导致的。BMI计算公式要求身高以米为单位参与运算,你传入的170是厘米单位,直接计算就会出现结果偏小的问题。
修正方案
- 第一步:先将厘米单位的身高转换为米,转换逻辑为身高数值除以100
- 第二步:代入公式计算BMI数值
- 第三步:使用PHP内置函数保留两位小数即可得到目标结果
常用小数格式化方法
number_format($数值, 保留位数):直接返回格式化后的字符串,适合前端输出场景round($数值, 保留位数):对数值做四舍五入处理,返回浮点类型,适合后续需要继续做数值运算的场景sprintf("%.2f", $数值):格式化输出指定小数位数的字符串,支持更复杂的格式规则
完整可运行代码示例
$weight = 70; $height = 170; // 身高单位从厘米转米 $heightInMeter = $height / 100; // 计算BMI $bmi = $weight / pow($heightInMeter, 2); // 保留两位小数输出 echo number_format($bmi, 2); // 输出结果:24.22
内容的提问来源于stack exchange,提问作者Isabella
相关产品推荐
相关产品推荐

