Удалить символ валюты из строки и преобразовать в число, используя одну строку в Javascript - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть строка ниже, которая является ценой в фунтах стерлингов, я хочу удалить символ валюты и затем преобразовать ее в число / цену, которую я могу использовать для сравнения с другим значением (например, X> = Y ...)

£14.50

Я ранее преобразовал строки в числа, используемые для валюты с

var priceNum = parseFloat(price);

ИДЕАЛЬНЫЙ ИТОГ

14.50 как числовое значение.Можно ли это сделать одной строкой?

1 Ответ

0 голосов
/ 10 февраля 2019

Если символ валюты всегда будет рядом, просто используйте substring:

var priceNum = parseFloat(price.substring(1));

Если он может присутствовать или не присутствовать, вы можете использовать replace, чтобы удалить его:

var priceNum = parseFloat(price.replace(/£/g, ""));

Остерегайтесь, что parseFloat("") равно 0.Если вы не хотите 0 для пустой строки ввода, вам нужно это обработать. Этот ответ содержит краткое изложение различных способов преобразования строк в числа в JavaScript и того, что они делают в различных ситуациях.

Примечание: использование стандартных чисел JavaScript для информации о валюте обычно не является лучшимпотренируйтесь, потому что если такие вещи, как классическая проблема 0.1 + 0.2 (результат - 0.30000000000000004, а не 0.3).Существуют различные библиотеки, которые могут помочь, и BigInt также подходит и для JavaScript (в настоящее время это предложение стадии 3, которое в настоящее время поставляется в Chrome).BigInt полезно, потому что вы можете использовать кратные вашей базовой валюты (например, * 100 для фунтов и пенсов).

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