Преобразуйте значение центов с помощью этого преобразования INTO WORDS Javascript ⇐ Jquery
-
Anonymous
Преобразуйте значение центов с помощью этого преобразования INTO WORDS Javascript
У меня есть код, который преобразует числовые значения в слова. Я просто хочу добавить центы прописью, если пользователь вводит сумму, имеющую значение в центах.
пр. Если у меня есть сумма 1000,88. Стоимость прописью составит ТОЛЬКО ТЫСЯЧА ПЕСО ВОСЕМЬДЕСЯТ ВОСЕМЬ ЦЕНТОВ.
ОБНОВЛЕНИЕ: Код был отредактирован, чтобы разделить все значение и значение в центах. Остаётся только конвертировать центы в слова.
СКРИПКА
var NUMBER2TEXT = { единицы: ['', 'ОДИН', 'ДВА', 'ТРИ', 'ЧЕТЫРЕ', 'ПЯТЬ', 'ШЕСТЬ', 'СЕМЬ', 'ВОСЕМЬ', 'ДЕВЯТЬ', 'ДЕСЯТЬ', 'ОДИННАДЦАТЬ', «ДВЕНАДЦАТЬ», «ТРИНАДЦАТЬ», «ЧЕТЫРНАДЦАТЬ», «ПЯТНАДЦАТЬ», «ШЕСТНАДЦАТЬ», «СЕМНАДЦАТЬ», «ВОСЕМНАДЦАТЬ», «ДЕВЯТНАДЦАТЬ»], десятки: ['', '', 'ДВАДЦАТЬ', 'ТРИДЦАТЬ', 'ЧЕТЫРЕДЕСЯТ', 'ПЯТЬДЕСЯТ', 'ШЕСТЬДЕСЯТ', 'СЕМЬДЕСЯТ'], 'ВОСЕМЬДЕСЯТ', 'ДЕВЯНОСТО'], сентябрь: ['', 'ТЫСЯЧА', 'МИЛЛИОН', 'МИЛЛИАРД', 'ТРИЛЛИОН', 'КВАДРИЛЛИОН', 'КВИНТИЛЛИОН', 'СЕКСТИЛЛИОН'] }; (функция(единицы, десятки, сентябрь) { var input = document.getElementById('totalamountpaid'), вывод = document.getElementById('words'); input.onkeyup = функция() { вар val = this.value, обр = [], ул = '', я = 0; если (значение.длина === 0) { output.textContent = 'Сумма не выплачена'; возвращаться; } val = val.replace(/,/g,''); если ( isNaN( val ) ) { output.textContent = 'Неверный ввод.'; возвращаться; } val = val.toString(); var valArray = val.split('\.', 2); //разбивает val на два отдельных целых числа, целые и десятичные, в массиве. val = valArray[0]; //это целое число вар val2 = valArray[1]; //это должны быть десятичные дроби if(val2 != null && val2 != ''){ //конвертируем здесь десятичные дроби var str2 = 'И ДВАДЦАТЬ ЦЕНТОВ'; }еще{ вар стр2 = ''; } в то время как (значение) { arr.push(знач % 1000); вал = parseInt(знач / 1000, 10); } в то время как (длина аранж.) { стр = (функция( а ) { var x = Math.floor(a/100), y = Math.floor(a/10) % 10, z = а% 10; return ( x > 0 ? ones[x] + 'СТО' : '' ) + ( y >= 2 ? десятки[y] + ' ' + единицы[z] : единицы[10*y + z] ); })( arr.shift() ) + sep[i++] + str; } output.textContent = str + ' ' + str2 + ' ТОЛЬКО ПЕСОС'; }; })( NUMBER2TEXT.ones, NUMBER2TEXT.tens, NUMBER2TEXT.sep );
У меня есть код, который преобразует числовые значения в слова. Я просто хочу добавить центы прописью, если пользователь вводит сумму, имеющую значение в центах.
пр. Если у меня есть сумма 1000,88. Стоимость прописью составит ТОЛЬКО ТЫСЯЧА ПЕСО ВОСЕМЬДЕСЯТ ВОСЕМЬ ЦЕНТОВ.
ОБНОВЛЕНИЕ: Код был отредактирован, чтобы разделить все значение и значение в центах. Остаётся только конвертировать центы в слова.
СКРИПКА
var NUMBER2TEXT = { единицы: ['', 'ОДИН', 'ДВА', 'ТРИ', 'ЧЕТЫРЕ', 'ПЯТЬ', 'ШЕСТЬ', 'СЕМЬ', 'ВОСЕМЬ', 'ДЕВЯТЬ', 'ДЕСЯТЬ', 'ОДИННАДЦАТЬ', «ДВЕНАДЦАТЬ», «ТРИНАДЦАТЬ», «ЧЕТЫРНАДЦАТЬ», «ПЯТНАДЦАТЬ», «ШЕСТНАДЦАТЬ», «СЕМНАДЦАТЬ», «ВОСЕМНАДЦАТЬ», «ДЕВЯТНАДЦАТЬ»], десятки: ['', '', 'ДВАДЦАТЬ', 'ТРИДЦАТЬ', 'ЧЕТЫРЕДЕСЯТ', 'ПЯТЬДЕСЯТ', 'ШЕСТЬДЕСЯТ', 'СЕМЬДЕСЯТ'], 'ВОСЕМЬДЕСЯТ', 'ДЕВЯНОСТО'], сентябрь: ['', 'ТЫСЯЧА', 'МИЛЛИОН', 'МИЛЛИАРД', 'ТРИЛЛИОН', 'КВАДРИЛЛИОН', 'КВИНТИЛЛИОН', 'СЕКСТИЛЛИОН'] }; (функция(единицы, десятки, сентябрь) { var input = document.getElementById('totalamountpaid'), вывод = document.getElementById('words'); input.onkeyup = функция() { вар val = this.value, обр = [], ул = '', я = 0; если (значение.длина === 0) { output.textContent = 'Сумма не выплачена'; возвращаться; } val = val.replace(/,/g,''); если ( isNaN( val ) ) { output.textContent = 'Неверный ввод.'; возвращаться; } val = val.toString(); var valArray = val.split('\.', 2); //разбивает val на два отдельных целых числа, целые и десятичные, в массиве. val = valArray[0]; //это целое число вар val2 = valArray[1]; //это должны быть десятичные дроби if(val2 != null && val2 != ''){ //конвертируем здесь десятичные дроби var str2 = 'И ДВАДЦАТЬ ЦЕНТОВ'; }еще{ вар стр2 = ''; } в то время как (значение) { arr.push(знач % 1000); вал = parseInt(знач / 1000, 10); } в то время как (длина аранж.) { стр = (функция( а ) { var x = Math.floor(a/100), y = Math.floor(a/10) % 10, z = а% 10; return ( x > 0 ? ones[x] + 'СТО' : '' ) + ( y >= 2 ? десятки[y] + ' ' + единицы[z] : единицы[10*y + z] ); })( arr.shift() ) + sep[i++] + str; } output.textContent = str + ' ' + str2 + ' ТОЛЬКО ПЕСОС'; }; })( NUMBER2TEXT.ones, NUMBER2TEXT.tens, NUMBER2TEXT.sep );
Мобильная версия