JQuery тянуть валюту без знака доллара - PullRequest
4 голосов
/ 27 сентября 2011

У меня есть тег, в котором есть цена (т. Е. 150,00 $).Я хочу использовать jQuery для извлечения только текстовых значений без знака доллара ($).

<div>
  $150.00
</div>

Я хочу вывести вышеприведенное как 150.00

Ответы [ 3 ]

20 голосов
/ 27 сентября 2011

Вы можете использовать replace, чтобы заменить символ $ пустой строкой:

var price = $("div").text().replace("$", "");

Обратите внимание, что в случае вашего точного примера (с этим интервалом) пробелы не будут удалены. Если вы собираетесь использовать строку как число (например, через parseFloat), это не имеет значения, но если вы хотите использовать ее как текст где-то еще, вы можете удалить пробел с помощью jQuery's .trim.

Обновление - на основе комментариев

replace возвращает строку. Получив эту строку, вы можете разобрать ее в число с помощью parseFloat (или parseInt, но вы работаете с числами с плавающей запятой):

var convertedToNumber = parseFloat(price);

Теперь, когда у вас есть число, вы можете выполнять с ним математические операции:

var percentage = convertedToNumber * 0.95;

6 голосов
/ 30 декабря 2014

Использование замены лучше, но я могу предложить, чтобы вы могли удалить любой символ валюты из строки, например

$ 150.00
Fr. 150.00
€ 689.00

Я проверил более трех символов валюты. Вы можете сделать это и для других.

var price = $("div").text().replace(/[^\d\.]/g, '');

Выше регулярного выражения удалит все, что не является цифрой или точкой. Так что вы можете получить строку без символа валюты, но в случае «Fr. 150.00», если вы утешаете вывод, вы получите цену как

console.log('price : '+price);

output = price : .150.00

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

if (price.indexOf('.') == 0) {
        price = parseFloat(price.split('.')[1]);
}else{
        price = parseFloat(price);
}
0 голосов
/ 27 сентября 2011

Будет ли $('div').text().replace('$', ''); работать в ваших целях?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...