В прошлый раз мы написали функцию вывода числа прописью,
теперь добавим вывод в рублях и копейках
Для применения вызываем NumberToRUR
разделитель дробной части - запятая
забыл подменить переменной, поэтому менять уже неохота...
//рубли и копейки прописью
function NumberToRUR(number)
{
var str = new String(number);
if (str.indexOf(',') == -1)
{
str = new String(str+",00");
}
if(str.indexOf(',') < 2)
str = new String("00"+str);
if(str.length - str.indexOf(',') < 3)
{
str += "0";
}
var num1str = NumberInWords(str.substr(0,str.indexOf(',')+1)) +" "+ ShowRUR(str.substr(str.indexOf(',')-2,2),0);
var num2str = str.substr(str.indexOf(',')+1,2)+" "+ShowRUR(str.substr(str.indexOf(',')+1,2),1);
// alert(num1str + " " + num2str);
return num1str + " " + num2str;
}
//склоняем рубли и копейки в зависимости от последних двух цыфр
function ShowRUR(number,level)
{
var RUR = [["рублей","рубль","рубля","рубля","рубля","рублей","рублей","рублей","рублей","рублей"],
["копеек","копейка","копейки","копейки","копейки","копеек","копеек","копеек","копеек","копеек"]
];
var str = new String(number);
if(str.length > 1)
{
if(str.charAt(0) != "1")
{
return RUR[level][parseInt(str.charAt(1)) ];
}
}
//если нет цифр или 11 рублей и тд
return RUR[level][0];
}