将检索到的值与javascript和jquery结合起来[重复]

Posted

技术标签:

【中文标题】将检索到的值与javascript和jquery结合起来[重复]【英文标题】:Combining retrieved values with javascript and jquery [duplicate] 【发布时间】:2012-11-03 10:47:33 【问题描述】:

可能重复:How do I Convert a String into an Integer in javascript?

我有一个包含产品选项的选择元素。我想要实现的是当他们选择一个选项时,页面上的价格会自动调整。我已经想出了如何检索这些值,但是当我将它们组合起来时,它只是将两个数字放在一起,而不是实际相加。

例如,当我有 50 + 10 时,它不会输出 60,而是输出 5010。

我的代码:

$('.product_options').change(function()
var base_price = $('#base_price').html();
var add_price = $(this).find("option:selected").data('price');

var new_price = base_price+add_price;

console.log(new_price);

$('.current_price').html(base_price+add_price);

);

有没有办法可以将它们都转换为整数,以便实际执行操作?

提前致谢!

【问题讨论】:

您可以使用一些技巧,例如乘以 1 来强制进行数字转换,或者您可以使用 parseInt() 【参考方案1】:

使用parseInt

$('.product_options').change(function()
var base_price = parseInt($('#base_price').html(), 10); // 10 as second argument will make sure that base is 10.
var add_price = parseInt($(this).find("option:selected").data('price'), 10);

var new_price = base_price+add_price;

console.log(new_price);

$('.current_price').html(base_price+add_price);
);

【讨论】:

【参考方案2】:

试试:

var base_price = +$('#base_price').html();
var add_price = +$(this).find("option:selected").data('price');

见强大:Mozilla's Arithmetic Operators Reference - Unary Negation

【讨论】:

我不知道..!这适用于所有浏览器吗? @BillyMoon:它是 EMCAScript 规范的一部分。【参考方案3】:

您从 DOM 中提取的任何值都将是字符串,并且需要转换为数字类型才能对它们进行数学运算。

parseInt( ... ) 是一个内置的 javascript 函数,如果字符串仅由数字组成,它会将字符串转换为整数。

如果需要十进制数,可以使用parseFlaot

var new_price = parseInt(base_price)+parseInt(add_price);
// new_price is now set to the sum of `base_price` and `add_price`

【讨论】:

【参考方案4】:

使用 parseFloat 或 parseInt

$('.product_options').change(function()
  var base_price = $('#base_price').html();
  var add_price = $(this).find("option:selected").data('price');

  var new_price = parseFloat(base_price) + parseFloat(add_price);

  console.log(new_price);

  $('.current_price').html(base_price+add_price);
);

【讨论】:

【参考方案5】:

是的。

intval = parseInt(string)

就是你要找的。​​p>

【讨论】:

以上是关于将检索到的值与javascript和jquery结合起来[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将对象数组中的值与 React Native/Javascript 中的字符串进行比较

从 websocket 检索到的触发 javascript

如何将效果应用于 jQuery 数组中检索到的元素?

将检索到的值加载到 listView 时应用程序崩溃

如何检索 jquery 插件附加到的目标元素?

Firebase/Android:将检索到的值从 Firebase 添加到 arraylist 会返回空指针异常