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

jQuery计算价格时添加美元符号致计算异常,如何正确输出带$的总价?

问题分析与解决

你的问题出在字符串拼接的优先级上:当你写 "$" + 数值运算 + 数值运算 时,JavaScript会先执行 "$" + 第一个乘积,把结果变成字符串(比如 "$10"),后面的 + 就会从数值加法变成字符串拼接,导致两个乘积结果被连在一起,而不是相加。

修正方案

把所有数值计算部分用括号包裹,先算出总和,再和美元符号拼接:

$('#totalprice').val("$" + ( $('#qty1').val() * $('#price1').val() + $('#qty2').val() * $('#price2').val() ) );

额外优化建议

  • 注意val()获取的是字符串,建议先转成数值类型避免潜在问题,比如用parseFloat()或Number(),同时处理空值或非数字输入的情况:
const qty1 = parseFloat($('#qty1').val()) || 0;
const price1 = parseFloat($('#price1').val()) || 0;
const qty2 = parseFloat($('#qty2').val()) || 0;
const price2 = parseFloat($('#price2').val()) || 0;
const total = qty1 * price1 + qty2 * price2;
$('#totalprice').val("$" + total);

这样能避免输入非数字时出现NaN的异常,让逻辑更健壮。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:52:04