Первый метод здесь состоит в том, чтобы использовать JavaScript для преобразования номера в формат струнной валюты (параметры: сохранить десятичные места, символы валюты, целочисленную часть тысяч сепараторов, десятичные сепараторы)
Второй метод здесь состоит в том, чтобы преобразовать символы валюты в чистые числовые строки с простым регулярным выражением, а затем вы можете преобразовать строку в числовое число.
Формат денег JavaScript (расширить номер с прототипом)
// Расширение объекта номера по умолчанию с помощью метода FormatMoney (): // Использование: somevar.formatmoney (Decimalplaces, Symbol, ThroundSseParator, DecimalSeparator) // Defaults: (2, "$", ",", ".") №. Math.abs (места))? Места: 2; Symbol = Symbol! == не определен? Символ: "$"; тысячи = тысячи || ","; Десятичный = десятичный || "."; var number = this, отрицательный = номер <0? "-": "", i = parseInt (number = math.abs ( + номер || 0) .tofixed (места), 10) + "", j = (j = i.length)> 3? J % 3: 0; вернуть символ + отрицательный + (j? i.substr (0, j) + тысячи: "") + i.substr (j) .replace (/(/d {3}) (?Вот несколько примеров конверсии:
// Использование по умолчанию и пользовательский точность/символ: var enures = 12345678; alert (доход.formatmoney ()); // $ 12 345 678,00.00Alert (доход.formatmoney (0, "HK $")); // HK $ 12 345 678 // Европейское форматирование: var Price = 4999,99; Alert (Price.formatmoney (2, ",". ",", ")); // .999,99 // Это работает для негативных значений, тоже: Alert (( -5000000) .formatmoney (0, £"); // £-- 00 000000000).
Валюта к количеству удаления форматирования денег (фильтр с регулярными выражениями)
var price = (12345.99) .formatmoney (); // "12 345,99 долл. США // Удалить не нулечные карты (кроме десятичного знака/минус): цена = parsefloat (цена. // 12345.99
Этот метод используется только в шаблоне, где десятичный сепаратор «». Если десятичный сепаратор-«,», то регулярное выражение составляет /[^0-9-,] /g
Версии, которые не используют прототип для расширения номера:
// Чтобы настроить его как глобальную функцию: Функция Форматмони (номер, места, символ, тысячи, десятичные) {number = number || 0; места =! Isnan (места = math.abs (места))? Места: 2; Symbol = Symbol! == не определен? Символ: "$"; тысячи = тысячи || ","; Десятичный = десятичный || "."; var Oftion = число <0? "-": "", i = parseInt (number = math.abs ( + номер || 0) .tofixed (места), 10) + "", j = (j = i.length)> 3? J % 3: 0; вернуть символ + негатив + (j? I.substr (0, j) + тысячи: "") + i.substr (j) .Replace (/(/d {3}) (? Метод: mylibrary.formatmoney = function (номер, места, символ, тысячи, десятичный) {/ * как выше */} // Пример использования: formatmoney (54321); // $ 54,321mybrary.formatmoney (12345, 0, "£"); // £ 12 345Вышеуказанное - все содержание этой статьи. Для получения дополнительной информации о JavaScript вы можете проверить: «Справочный учебник JavaScript» и «Руководство по стилю кода JavaScript». Я также надеюсь, что все будут поддерживать Wulin.com больше.