javascript - 使用 Javascript 以文本形式对货币值执行算术运算

标签 javascript jquery math

我正在使用 JQuery 获取一个 div 的内容,它只包含以美元为单位的价格,我想向它添加 99 美元,但是它的文本,所以当我执行下面的操作时它不起作用。

$('#price_' + part[0]).text($('#price_' + part[0]).text() + 99);
//Changes the div contents to $10099 - if it the contents was $100 to start with

所以问题是如何添加数值?

谢谢大家

编辑

请注意一些数字可以包含逗号,即 $1,200

最佳答案

获取数字子串并将其转换为数字:

$('#price_' + part[0]).text("$" + (+($('#price_' + part[0]).text()).substring(1) + 99)); 

请注意使用一元 + 运算符将字符串转换为数字,并使用 substring 获取字符串中第一个 ($) 字符之后的所有内容。


更新

既然您提到值可以包含逗号,您最好将其分解并执行字符串替换:

var div    = $('#price_' + part[0]);  // get a ref to the div

// replace occurrences of `$` or `,`, cast to a number and add 99
var amount = +div.text().replace(/[$,]/g, '') + 99;

// set the new text to the div
div.text("$" + amount);

关于javascript - 使用 Javascript 以文本形式对货币值执行算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492310/

相关文章:

javascript - 使用 jQuery 复制(例如通过加载或查找)包含内联脚本的 HTML 标记 - 如何实现?

javascript - Jquery动态更新从输入中选择

javascript - javascript 的调试工具,用于清理未使用的变量、语法错误......

jquery - 使用tinymce时获取字数

math - 为什么简化的数学方程比在 Julia-Lang 中有更多运算的等价方程运行得(稍微)慢?

python - python计算两个风向的差异

matlab - 如何绘制由 i 索引的函数序列的曲线

php - 尝试发送选择输入的值和文本

javascript - Angular-ui-grid 的 cellClass 错误

javascript - 如果您要查找的元素不存在,如何不破坏 Cypress 测试