Все привет.
мой скрипт конвертирует число в текст. Т..е ввожу 55 => пятьдесят пять. Все вроде работает кроме последнего ифа, где обрабатываются числа от тысячи и до 9999.
Оцените и подскажите где может скрываться ошибка в этом скрипте
var single=[]
single[0]=''
single[1]='один'
single[2]='два'
single[3]='три'
single[4]='четыре'
single[5]='пять'
single[6]='шесть'
single[7]='семь'
single[8]='восемь'
single[9]='девять'
single[10]='десять'
single[11]='одинадцать'
single[12]='двенадцать'
single[13]='тринадцать'
single[14]='четырнадцать'
single[15]='пятнадцать'
single[16]='шестнадцать'
single[17]='семнадцать'
single[18]='восемнадцать'
single[19]='девятнадцать'
single[20]='двадцать'
single[30]='тридцать'
single[40]='сорок'
single[50]='пятьдесят'
single[60]='шестьдесят'
single[70]='семьдесят'
single[80]='восемдесят'
single[90]='девяносто'
single[100]='сто'
single[200]='двести'
single[300]='тристо'
single[400]='четыресто'
single[500]='пятсот'
single[600]='шестсот'
single[700]='семсот'
single[800]='восемсот'
single[900]='девятсот'
single[1000]='тысяча'
single[2000]='две тысячи'
single[3000]='три тысячи'
single[4000]='четыре тысячи'
single[5000]='пять тысяч'
single[6000]='шесть тысяч'
single[7000]='семь тысяч'
single[8000]='восемь тысяч'
single[9000]='девять тысяч'
function first(num)
{
var a = num-num%10 // десятки
var b = num%10 // единицы
return single[a]+' '+single[b]
}
function f()
{
var out='не корректно внесли данные'
var num=document.getElementById('number').value
if (num>0&&num<21)
{
out = single[num]
}
else if (num>20&&num<100)
{
out = first(num)
}
else if (num>99&&num<1000)
{
var b = num%100
var a = num - b // сотни
if (b<20)
{
var d=single[b]
}
else
{
var d = first(b)
}
out = single[a]+' '+d
}
else if (num>999&&num<10000)
{
var b = num%1000
var a = num - b // тысячи
var c = b%100
var d = b - c // сотни
if (с<20)
{
var g = single[c]
}
else
{
var g = first(c)
}
out = single[a] + ' ' + single[d] +' ' + g
}
alert(out)
}
Когда вношу цифру более 999 скрипт не работает((