Как изменить тип суммы на тип номера для выполнения арифметических операций в JavaScript - PullRequest
1 голос
/ 15 июля 2011

В javascript val имеет тип суммы, как $ 1 056,89.Теперь я хочу, чтобы val выполнялся с арифметическими операциями, но оповещение дает мне значение NaN вместо арифметического значения.если я сниму число, тогда значение y будет равно 1056,8910. Как я могу сделать val для числового типа и выполнить арифметические операции?

var val= document.getElementById('<%= DataItemValue4.ClientID%>').firstChild.nodeValue;
            val= val.replace(/^[\s$]+|[\s]+$/g, '');
            y = Number(val)+ 10;
            alert(y);

Может ли кто-нибудь помочь мне с этим!ты, майкл

Ответы [ 3 ]

2 голосов
/ 15 июля 2011

Удалите все нечисловые символы и приведите строку к числу:

val = + val.replace(/[^\d.-]/g, "");
0 голосов
/ 15 июля 2011

Код ниже должен заставить все работать -

var val= '$1,056.89';
val= val.replace(/^[\s$]+|[\s]+$|,/g, '');
y = parseFloat(val)+ 10;
alert(y);
0 голосов
/ 15 июля 2011

После удаления любых нечисловых символов попробуйте использовать parseFloat для преобразования значения в число с плавающей запятой.

val = val.replace(/[^0-9.]/g, '');
y = parseFloat(val);
...