如何在javascript中添加字符串数值?

时间:2018-03-18 12:45:14

标签: javascript string

我有两个变量。两者都有一些价值。



var position = "340px";
var end_position = "4px";
var final = position + end_position;
//result comes NAN 
// sometime it return 340px4px
// i want 344px




如何添加这些值以获得理想的结果。 将不胜感激。

5 个答案:

答案 0 :(得分:2)

您可以使用parseInt

var position = "340px";
var end_posiiton = "4px";
var final = parseInt(position, 10) + parseInt(end_position,10) + "px";

答案 1 :(得分:1)

您可以使用parseInt(或parseFloat取决于数字)并添加两个数字



var position = "340px";
var end_position = "4px";
var final = ( parseInt(position) + parseInt(end_position) ) + "px";

console.log( final )




答案 2 :(得分:1)

您要连接字符串而不是添加数字,为避免这种情况,您可以删除与数字(即:使用正则表达式)不同的任何内容,然后执行添加操作。此外,您需要将操作数转换为数字。

要将操作数转换为数字,您可以使用对象 Number ,也可以只使用+作为前缀。

使用+

进行前缀

var position = "340px";
var end_position = "4px";
var final = +position.replace(/[^\d]/g, '') + +end_position.replace(/[^\d]/g, '') + 'px';

console.log(final)

使用对象 Number

var position = "340px";
var end_position = "4px";
var final = Number(position.replace(/[^\d]/g, '')) + Number(end_position.replace(/[^\d]/g, '')) + 'px';

console.log(final)

答案 3 :(得分:1)

你需要将字符串转换为int,将它们转换回字符串

    var position = "340px";
    var end_position = "4px";
      var final = (parseInt(position) + parseInt(end_position)).toString()+"px";
console.log(final);
  //result comes NAN 
  // sometime it return 340px4px
  // i want 344px

答案 4 :(得分:0)

使用Array.prototype.split执行此操作的另一个变体:



var position = "340px"
var end_position = "4px"
var final = +position.split('px')[0] + +end_position.split('px')[0] + "px"

console.log(final)