Если символ валюты всегда будет рядом, просто используйте 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
для фунтов и пенсов).