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

PHP7.4乘法计算结果被错误截断 数值偏小问题如何修复?

PHP单位价格计算结果异常截断问题解决

问题表现

需要实现单位价格自动计算功能,其他环节逻辑正常,仅计算环节结果始终被截断,无法得到正确运算值。

  • 示例场景:14,94 * 100 预期结果应为1495,实际运算得到1400
  • 已尝试number_format、round、ceil等数值处理函数,均无法解决问题
  • 运行环境:PHP 7.4 + MariaDB
  • 原有代码(已确认$weight、$price取值无错误):
$gewicht_angabe = strip_tags ($weight);
$preis_angabe = strip_tags ($price);
$ergebnis = number_format((($preis_angabe * 100) / $gewicht_angabe), 2);

问题根源

PHP默认仅识别英文句号.作为小数分隔符,当待运算的数值字符串使用逗号,作为小数分隔符时,PHP做隐式类型转换会自动截断逗号之后的内容,仅保留整数部分参与运算,因此14,94会被识别为14,最终得到14*100=1400的错误结果。

解决方案

运算前先将数值中的逗号替换为英文句号即可,修正后代码如下:

$gewicht_angabe = strip_tags ($weight);
$preis_angabe = strip_tags ($price);
$preis_angabe = str_replace(',', '.', $preis_angabe);
$ergebnis = number_format((($preis_angabe * 100) / $gewicht_angabe), 2);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:24:02