Сумма прописью
Есть рабочий (проверено) скрипт суммы прописью. В этом скрипте строка прописи начинается с маленькой буквы,а надо чтобы с большой. Подскажите где вставить toUpperCase(),чтобы первая буква была заглавной.
function number_to_string(_number) { var _arr_numbers = new Array(); _arr_numbers[1] = new Array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); _arr_numbers[2] = new Array('', '', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); _arr_numbers[3] = new Array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); function number_parser(_num, _desc) { var _string = ''; var _num_hundred = ''; if (_num.length == 3) { _num_hundred = _num.substr(0, 1); _num = _num.substr(1, 3); _string = _arr_numbers[3][_num_hundred] + ' '; } if (_num < 20) _string += _arr_numbers[1][parseFloat(_num)] + ' '; else { var _first_num = _num.substr(0, 1); var _second_num = _num.substr(1, 2); _string += _arr_numbers[2][_first_num] + ' ' + _arr_numbers[1][_second_num] + ' '; } switch (_desc){ case 0: var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'рубль'; else if (_last_num > 1 && _last_num < 5) _string += 'рубля'; else _string += 'рублей'; break; case 1: var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'тысяча '; else if (_last_num > 1 && _last_num < 5) _string += 'тысячи '; else _string += 'тысяч '; _string = _string.replace('один ', 'одна '); _string = _string.replace('два ', 'две '); break; case 2: var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'миллион '; else if (_last_num > 1 && _last_num < 5) _string += 'миллиона '; else _string += 'миллионов '; break; case 3: var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'миллиард '; else if (_last_num > 1 && _last_num < 5) _string += 'миллиарда '; else _string += 'миллиардов '; break; } _string = _string.replace(' ', ' '); return _string; } function decimals_parser(_num) { var _first_num = _num.substr(0, 1); var _second_num = parseFloat(_num.substr(1, 2)); var _string = ' ' + _first_num + _second_num; if (_second_num == 1) _string += ' копейка'; else if (_second_num > 1 && _second_num < 5) _string += ' копейки'; else _string += ' копеек'; return _string; } if (!_number || _number == 0) return false; if (typeof _number !== 'number') { _number = _number.replace(',', '.'); _number = parseFloat(_number); if (isNaN(_number)) return false; } _number = _number.toFixed(2); if(_number.indexOf('.') != -1) { var _number_arr = _number.split('.'); var _number = _number_arr[0]; var _number_decimals = _number_arr[1]; } var _number_length = _number.length; var _string = ''; var _num_parser = ''; var _count = 0; for (var _p = (_number_length - 1); _p >= 0; _p--) { var _num_digit = _number.substr(_p, 1); _num_parser = _num_digit + _num_parser; if ((_num_parser.length == 3 || _p == 0) && !isNaN(parseFloat(_num_parser))) { _string = number_parser(_num_parser, _count) + _string; _num_parser = ''; _count++; } } if (_number_decimals) _string += decimals_parser(_number_decimals); return _string; } this.getField("Сумма_пр").value = number_to_string(event.value)+"." |
var str = 'бла бла'; str = str.charAt(0).toUpperCase() + str.substring(1); alert(str) |
Благодарю Вас за быстрый ответ. Но как ответил Чапаев Петьке на вопрос "... а в мировом масштабе Василий Иванович ?" ответ "нет Петька, языкам не обучен." Ну а если серьезно, то специалисту я думаю легко конкретно в самом коде вставить toUpperCase(). Не сочтите за труд. Строка же сформирована.
|
Специально для таких как я Чапаевых. В конце кода, перед return _string, надо вставить
_string = _string.charAt(0).toUpperCase() + _string.substring(1);и все получится. 10 минут экспериментов и все получилось. |
Ошибки в формуле
В функции есть ошибки. Надо ее дорабатывать. Ошибки можно выявить на суммах:12 рублей, 12 000.00, 2 000 000.00, 12 000 001,00 и т.д.
|
А вот эта работает вроде бы нормально, если кому надо.
var mapNumbers = { 0 : [2, 1, "ноль"], 1 : [0, 2, "один", "одна"], 2 : [1, 2, "два", "две"], 3 : [1, 1, "три"], 4 : [1, 1, "четыре"], 5 : [2, 1, "пять"], 6 : [2, 1, "шесть"], 7 : [2, 1, "семь"], 8 : [2, 1, "восемь"], 9 : [2, 1, "девять"], 10 : [2, 1, "десять"], 11 : [2, 1, "одиннадцать"], 12 : [2, 1, "двенадцать"], 13 : [2, 1, "тринадцать"], 14 : [2, 1, "четырнадцать"], 15 : [2, 1, "пятнадцать"], 16 : [2, 1, "шестнадцать"], 17 : [2, 1, "семнадцать"], 18 : [2, 1, "восемнадцать"], 19 : [2, 1, "девятнадцать"], 20 : [2, 1, "двадцать"], 30 : [2, 1, "тридцать"], 40 : [2, 1, "сорок"], 50 : [2, 1, "пятьдесят"], 60 : [2, 1, "шестьдесят"], 70 : [2, 1, "семьдесят"], 80 : [2, 1, "восемьдесят"], 90 : [2, 1, "девяносто"], 100 : [2, 1, "сто"], 200 : [2, 1, "двести"], 300 : [2, 1, "триста"], 400 : [2, 1, "четыреста"], 500 : [2, 1, "пятьсот"], 600 : [2, 1, "шестьсот"], 700 : [2, 1, "семьсот"], 800 : [2, 1, "восемьсот"], 900 : [2, 1, "девятьсот"] }; var mapOrders = [ { _Gender : true, _arrStates : ["рубль", "рубля", "рублей"] }, { _Gender : false, _arrStates : ["тысяча", "тысячи", "тысяч"] }, { _Gender : true, _arrStates : ["миллион", "миллиона", "миллионов"] }, { _Gender : true, _arrStates : ["миллиард", "миллиарда", "миллиардов"] }, { _Gender : true, _arrStates : ["триллион", "триллиона", "триллионов"] } ]; var objKop = { _Gender : false, _arrStates : ["копейка", "копейки", "копеек"] }; function Value(dVal, bGender) { var xVal = mapNumbers[dVal]; if (xVal[1] == 1) { return xVal[2]; } else { return xVal[2 + (bGender ? 0 : 1)]; } } function From0To999(fValue, oObjDesc, fnAddNum, fnAddDesc) { var nCurrState = 2; if (Math.floor(fValue/100) > 0) { var fCurr = Math.floor(fValue/100)*100; fnAddNum(Value(fCurr, oObjDesc._Gender)); nCurrState = mapNumbers[fCurr][0]; fValue -= fCurr; } if (fValue < 20) { if (Math.floor(fValue) > 0) { fnAddNum(Value(fValue, oObjDesc._Gender)); nCurrState = mapNumbers[fValue][0]; } } else { var fCurr = Math.floor(fValue/10)*10; fnAddNum(Value(fCurr, oObjDesc._Gender)); nCurrState = mapNumbers[fCurr][0]; fValue -= fCurr; if (Math.floor(fValue) > 0) { fnAddNum(Value(fValue, oObjDesc._Gender)); nCurrState = mapNumbers[fValue][0]; } } fnAddDesc(oObjDesc._arrStates[nCurrState]); } function FloatToSamplesInWordsRus(fAmount) { var fInt = Math.floor(fAmount + 0.005); var fDec = Math.floor(((fAmount - fInt) * 100) + 0.5); var arrRet = []; var iOrder = 0; var arrThousands = []; for (; fInt > 0.9999; fInt/=1000) { arrThousands.push(Math.floor(fInt % 1000)); } if (arrThousands.length == 0) { arrThousands.push(0); } function PushToRes(strVal) { arrRet.push(strVal); } for (var iSouth = arrThousands.length-1; iSouth >= 0; --iSouth) { if (arrThousands[iSouth] == 0) { continue; } From0To999(arrThousands[iSouth], mapOrders[iSouth], PushToRes, PushToRes); } if (arrThousands[0] == 0) { // Handle zero amount if (arrThousands.length == 1) { PushToRes(Value(0, mapOrders[0]._Gender)); } var nCurrState = 2; PushToRes(mapOrders[0]._arrStates[nCurrState]); } if (arrRet.length > 0) { // Capitalize first letter arrRet[0] = arrRet[0].match(/^(.)/)[1].toLocaleUpperCase() + arrRet[0].match(/^.(.*)$/)[1]; } arrRet.push((fDec < 10) ? ("0" + fDec) : ("" + fDec)); From0To999(fDec, objKop, function() {}, PushToRes); return arrRet.join(" "); } this.getField("Сумма_пр").value = FloatToSamplesInWordsRus(parseFloat(event.value))+"."; |
Еще один конвертер
|
"Допилил" фунцию, которую сам же писал еще 4 года назад. Функция, которая в первом сообщении http://javascript.ru/forum/misc/4064...tml#post267411
Спасибо BSI, исправил его замечания: Цитата:
function numberToString(_number, toUpper) { var toUpper = toUpper || false; var _arr_numbers = new Array(); _arr_numbers[1] = new Array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); _arr_numbers[2] = new Array('', '', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); _arr_numbers[3] = new Array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); function number_parser(_num, _desc) { var _string = ''; var _num_hundred = ''; if (_num.length == 3) { _num_hundred = _num.substr(0, 1); _num = _num.substr(1, 3); _string = _arr_numbers[3][_num_hundred] + ' '; } if (_num < 20) _string += _arr_numbers[1][parseFloat(_num)] + ' '; else { var _first_num = _num.substr(0, 1); var _second_num = _num.substr(1, 2); _string += _arr_numbers[2][_first_num] + ' ' + _arr_numbers[1][_second_num] + ' '; } switch (_desc){ case 0: if (_num.length == 2 && parseFloat(_num.substr(0,1)) == 1) { _string += 'рублей'; break; } var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'рубль'; else if (_last_num > 1 && _last_num < 5) _string += 'рубля'; else _string += 'рублей'; break; case 1: _num = _num.replace(/^[0]{1,}$/g, '0'); if (_num.length == 2 && parseFloat(_num.substr(0,1)) == 1) { _string += 'тысяч '; break; } var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'тысяча '; else if (_last_num > 1 && _last_num < 5) _string += 'тысячи '; else if (parseFloat(_num) > 0) _string += 'тысяч '; _string = _string.replace('один ', 'одна '); _string = _string.replace('два ', 'две '); break; case 2: _num = _num.replace(/^[0]{1,}$/g, '0'); if (_num.length == 2 && parseFloat(_num.substr(0,1)) == 1) { _string += 'миллионов '; break; } var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'миллион '; else if (_last_num > 1 && _last_num < 5) _string += 'миллиона '; else if (parseFloat(_num) > 0) _string += 'миллионов '; break; case 3: _num = _num.replace(/^[0]{1,}$/g, '0'); if (_num.length == 2 && parseFloat(_num.substr(0,1)) == 1) { _string += 'миллиардов '; break; } var _last_num = parseFloat(_num.substr(-1)); if (_last_num == 1) _string += 'миллиард '; else if (_last_num > 1 && _last_num < 5) _string += 'миллиарда '; else if (parseFloat(_num) > 0) _string += 'миллиардов '; break; } return _string; } function decimals_parser(_num) { var _first_num = _num.substr(0, 1); var _second_num = parseFloat(_num.substr(1, 2)); var _string = ' ' + _first_num + _second_num; if (_second_num == 1) _string += ' копейка'; else if (_second_num > 1 && _second_num < 5) _string += ' копейки'; else _string += ' копеек'; return _string; } if (!_number || _number == 0) return false; if (typeof _number !== 'number') { _number = _number + ''; _number = _number.replace(',', '.'); _number = parseFloat(_number); if (isNaN(_number)) return false; } _number = _number.toFixed(2); if(_number.indexOf('.') != -1) { var _number_arr = _number.split('.'); var _number = _number_arr[0]; var _number_decimals = _number_arr[1]; } var _number_length = _number.length; var _string = ''; var _num_parser = ''; var _count = 0; for (var _p = (_number_length - 1); _p >= 0; _p--) { var _num_digit = _number.substr(_p, 1); _num_parser = _num_digit + _num_parser; if ((_num_parser.length == 3 || _p == 0) && !isNaN(parseFloat(_num_parser))) { _string = number_parser(_num_parser, _count) + _string; _num_parser = ''; _count++; } } if (_number_decimals) _string += decimals_parser(_number_decimals); if (toUpper === true || toUpper == 'upper') { _string = _string.substr(0,1).toUpperCase() + _string.substr(1); } return _string.replace(/[\s]{1,}/g, ' '); }; Number.prototype.numberToString = function(toUpper) { return numberToString(this, toUpper); }; String.prototype.numberToString = function(toUpper) { return numberToString(this, toUpper); }; Ах, да, добавил то, о чем, собственно, просили :) Теперь можно указать со строчной или прописной буквы выводить строку. По-умолчанию выводится как и раньше, с прописной; если указать второй параметр (значения либо true, либо 'upper'), то строка начнется с прописной буквы. Примеры: var number = 12500; number.numberToString(true); // Двенадцать тысяч пятьсот рублей 00 копеек var number = 12000.5; number.numberToString(); // двенадцать тысяч рублей 50 копеек var number = 2000000; numberToString(number, true); // Два миллиона рублей 00 копеек var number = '11'; // Строка, не число (: numberToString(number); // одиннадцать рублей 00 копеек |
Все равно не работает. Я на свежую голову исправил Вашу функцию.
function number_to_string(_number) { var _arr_numbers = new Array(); _arr_numbers[1] = new Array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); _arr_numbers[2] = new Array('', '', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); _arr_numbers[3] = new Array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); function number_parser(_num, _desc) { var _string = ''; var _num_hundred = ''; if (_num.length == 3) { _num_hundred = _num.substr(0, 1); _num = _num.substr(1, 3); _string = _arr_numbers[3][_num_hundred] + ' '; } if (_num < 20) _string += _arr_numbers[1][parseFloat(_num)] + ' '; else { var _first_num = _num.substr(0, 1); var _second_num = _num.substr(1, 2); _string += _arr_numbers[2][_first_num] + ' ' + _arr_numbers[1][_second_num] + ' '; } switch (_desc){ case 0: var _last_num = parseFloat(_num.substr(-1)); var pre_last_num = _num.substr(-2); pre_last_num = pre_last_num.split(""); var _pre_last_num = parseFloat(pre_last_num[0]); if (_last_num == 1 && 1!=_pre_last_num) _string += 'рубль'; else if (_last_num == 1 && 1 == pre_last_num.length) _string += 'рубль'; else if (_last_num > 1 && _last_num < 5 && 1!=_pre_last_num) _string += 'рубля'; else if (pre_last_num.length > 1) _string += 'рублей'; else if (pre_last_num.length = 1 && _last_num > 4) _string += 'рублей'; else if (pre_last_num.length = 1 && 0 == _last_num) _string += 'Ноль рублей'; else _string += 'рубль'; break; case 1: var _last_num = parseFloat(_num.substr(-1)); var pre_last_num = _num.substr(-2); pre_last_num = pre_last_num.split(""); var _pre_last_num = parseFloat(pre_last_num[0]); if (_last_num == 1 && 1!=_pre_last_num) _string += 'тысяча '; else if (_last_num == 1 && 1 == pre_last_num.length) _string += 'тысяча '; else if (_last_num > 1 && _last_num < 5 && 1!=_pre_last_num) _string += 'тысячи '; else _string += 'тысяч '; _string = _string.replace('один ', 'одна '); _string = _string.replace('два ', 'две '); break; case 2: var _last_num = parseFloat(_num.substr(-1)); var pre_last_num = _num.substr(-2); pre_last_num = pre_last_num.split(""); var _pre_last_num = parseFloat(pre_last_num[0]); if (_last_num == 1 && 1!=_pre_last_num) _string += 'миллион '; else if (_last_num == 1 && 1 == pre_last_num.length) _string += 'миллион '; else if (_last_num > 1 && _last_num < 5 && 1!=_pre_last_num) _string += 'миллиона '; else _string += 'миллионов '; break; case 3: var _last_num = parseFloat(_num.substr(-1)); var pre_last_num = _num.substr(-2); pre_last_num = pre_last_num.split(""); var _pre_last_num = parseFloat(pre_last_num[0]); if (_last_num == 1 && 1!=_pre_last_num) _string += 'миллиард '; else if (_last_num == 1 && 1 == pre_last_num.length) _string += 'миллиард '; else if (_last_num > 1 && _last_num < 5 && 1!=_pre_last_num) _string += 'миллиарда '; else _string += 'миллиардов '; break; } _string = _string.replace(' ', ' '); return _string; } function decimals_parser(_num) { var _first_num = _num.substr(0, 1); var _second_num = parseFloat(_num.substr(1, 2)); var _string = ' ' + _first_num + _second_num; if (_second_num == 1 && 1 != _first_num) _string += ' копейка'; else if (_second_num > 1 && _second_num < 5 && 1 != _first_num) _string += ' копейки'; else _string += ' копеек'; return _string; } if (!_number || _number == 0) return 'Ноль рублей'; if (typeof _number !== 'number') { _number = _number.replace(',', '.'); _number = parseFloat(_number); if (isNaN(_number)) return 'Ноль рублей'; } _number = _number.toFixed(2); if(_number.indexOf('.') != -1) { var _number_arr = _number.split('.'); var _number = _number_arr[0]; var _number_decimals = _number_arr[1]; } var _number_length = _number.length; var _string = ''; var _num_parser = ''; var _count = 0; for (var _p = (_number_length - 1); _p >= 0; _p--) { var _num_digit = _number.substr(_p, 1); _num_parser = _num_digit + _num_parser; if ((_num_parser.length == 3 || _p == 0) && !isNaN(parseFloat(_num_parser))) { _string = number_parser(_num_parser, _count) + _string; _num_parser = ''; _count++; } } if (_number_decimals) _string += decimals_parser(_number_decimals); _string=_string.charAt(0).toUpperCase() + _string.substr(1).toLowerCase(); return _string; } |
Оказалось, что для IE нужно так:
function number_to_string(_number) { var _arr_numbers = new Array(); _arr_numbers[1] = new Array('', 'один', 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять', 'одиннадцать', 'двенадцать', 'тринадцать', 'четырнадцать', 'пятнадцать', 'шестнадцать', 'семнадцать', 'восемнадцать', 'девятнадцать'); _arr_numbers[2] = new Array('', '', 'двадцать', 'тридцать', 'сорок', 'пятьдесят', 'шестьдесят', 'семьдесят', 'восемьдесят', 'девяносто'); _arr_numbers[3] = new Array('', 'сто', 'двести', 'триста', 'четыреста', 'пятьсот', 'шестьсот', 'семьсот', 'восемьсот', 'девятьсот'); function number_parser(_num, _desc) { var _string = ''; var _num_hundred = ''; if (_num.length == 3) { _num_hundred = _num.substr(0, 1); _num = _num.substr(1, 3); _string = _arr_numbers[3][_num_hundred] + ' '; } if (_num < 20) _string += _arr_numbers[1][parseFloat(_num)] + ' '; else { var _first_num = _num.substr(0, 1); var _second_num = _num.substr(1, 2); _string += _arr_numbers[2][_first_num] + ' ' + _arr_numbers[1][_second_num] + ' '; } switch (_desc){ case 0: var last = _num.length - 1; var _last_num = parseFloat(_num.charAt(last)); var _slice_num = _num.slice(0, -1); var _pre_last_num = parseFloat(_slice_num); if (_last_num == 1 && 1 != _pre_last_num) _string += 'рубль'; else if (_last_num > 1 && _last_num < 5 && 1 != _pre_last_num) _string += 'рубля'; else if ("" != _slice_num) _string += 'рублей'; else if (1 == _pre_last_num) _string += 'рублей'; else if ("" != _slice_num && _last_num > 4) _string += 'рублей'; else if ("" == _slice_num && _last_num > 4) _string += 'рублей'; else if ("" == _slice_num && 0 == _last_num) _string += 'Ноль рублей'; else _string += 'рубль'; break; case 1: var _last_num = parseFloat(_num.substr(-1)); var last = _num.length - 1; var _last_num = parseFloat(_num.charAt(last)); var _slice_num = _num.slice(0, -1); var _pre_last_num = parseFloat(_slice_num); if (_last_num == 1 && 1 != _pre_last_num) _string += 'тысяча '; else if (_last_num == 1 && 1 == _pre_last_num.toString().length) _string += 'тысяча '; else if (_last_num > 1 && _last_num < 5 && 1 != _pre_last_num) _string += 'тысячи '; else _string += 'тысяч '; _string = _string.replace('один ', 'одна '); _string = _string.replace('два ', 'две '); break; case 2: var _last_num = parseFloat(_num.substr(-1)); var last = _num.length - 1; var _last_num = parseFloat(_num.charAt(last)); var _slice_num = _num.slice(0, -1); var _pre_last_num = parseFloat(_slice_num); if (_last_num == 1 && 1 != _pre_last_num) _string += 'миллион '; else if (_last_num == 1 && 1 == _pre_last_num.toString().length) _string += 'миллион '; else if (_last_num > 1 && _last_num < 5 && 1 != _pre_last_num) _string += 'миллиона '; else _string += 'миллионов '; break; case 3: var _last_num = parseFloat(_num.substr(-1)); var last = _num.length - 1; var _last_num = parseFloat(_num.charAt(last)); var _slice_num = _num.slice(0, -1); var _pre_last_num = parseFloat(_slice_num); if (_last_num == 1 && 1 != _pre_last_num) _string += 'миллиард '; else if (_last_num == 1 && 1 == _pre_last_num.toString().length) _string += 'миллиард '; else if (_last_num > 1 && _last_num < 5 && 1 != _pre_last_num) _string += 'миллиарда '; else _string += 'миллиардов '; break; } _string = _string.replace(' ', ' '); return _string; } function decimals_parser(_num) { var _first_num = _num.substr(0, 1); var _second_num = parseFloat(_num.substr(1, 2)); var _string = ' ' + _first_num + _second_num; if (_second_num == 1 && 1 != _first_num) _string += ' копейка'; else if (_second_num > 1 && _second_num < 5 && 1 != _first_num) _string += ' копейки'; else _string += ' копеек'; return _string; } if (!_number || _number == 0) return 'Ноль рублей'; if (typeof _number !== 'number') { _number = _number.replace(',', '.'); _number = parseFloat(_number); if (isNaN(_number)) return 'Ноль рублей'; } _number = _number.toFixed(2); if(_number.indexOf('.') != -1) { var _number_arr = _number.split('.'); var _number = _number_arr[0]; var _number_decimals = _number_arr[1]; } var _number_length = _number.length; var _string = ''; var _num_parser = ''; var _count = 0; for (var _p = (_number_length - 1); _p >= 0; _p--) { var _num_digit = _number.substr(_p, 1); _num_parser = _num_digit + _num_parser; if ((_num_parser.length == 3 || _p == 0) && !isNaN(parseFloat(_num_parser))) { _string = number_parser(_num_parser, _count) + _string; _num_parser = ''; _count++; } } if (_number_decimals) _string += decimals_parser(_number_decimals); _string=_string.charAt(0).toUpperCase() + _string.substr(1).toLowerCase(); return _string; } |
Часовой пояс GMT +3, время: 01:22. |