добавление чисел из массива? - PullRequest
1 голос
/ 27 декабря 2011

у меня есть:

var str="100px";
var number = str.split("px");
number = number[0];

var km = "100px";
var numberk = km.split("px");
numberk = numberk[0];

var gim = numberk+100;
var kim = number+100;
var fim = number+numberk;
document.write(gim+'<br>'+kim+'<br>'+jim+'<br>');

Я был бы благодарен, если бы кто-то мог мне ответить, почему результат добавлен как строка, а не числовое число в javascript. Я использовал функцию isNaN();, которая показывает это какюридический номер.Так как же решить эту проблему?

спасибо.

Ответы [ 6 ]

2 голосов
/ 27 декабря 2011

Вам нужно поместить parseInt () вокруг каждого числа, прежде чем использовать его.На самом деле, вы можете сделать это, не удаляя «px».

 gim = parseInt(km) + 100;
2 голосов
/ 27 декабря 2011

Вы можете использовать функцию parseInt для преобразования строки, возвращаемой при разбиении, в целое число:

number = parseInt(number[0], 10);
numberk = parseInt(numberk[0], 10);

Теперь две переменные являются целыми числами, и вы можете выполнять целочисленные операции над ними.

1 голос
/ 27 декабря 2011

Самый простой способ сделать это, вам не нужно использовать split.

var str="150px";
var str1 = (parseInt(str)+100)+"px";
alert(str1);

ВЫХОД:

200px

fiddle: http://jsfiddle.net/Kk3HK/1/

0 голосов
/ 27 декабря 2011

Используйте parseInt для преобразования строки в число.

var str = "100px";
var number = parseInt(str, 10);

parseInt останавливается, когда находит первый нечисловой символ, поэтому вам даже не нужно удалять "px".

0 голосов
/ 27 декабря 2011

использование parseInt()

var number = parseInt(str, 10);
var numberk = parseInt(km, 10);
0 голосов
/ 27 декабря 2011

Обернуть числа в parseInt().

...