<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>lily-software.com : PHP Сумма прописью</title>
		<link>https://lily-software.com</link>
		<description>Последние сообщения в теме</description>
		<generator>Cotonti</generator>
		<language>ru</language>
		<pubDate>Fri, 13 Mar 2026 17:57:22 +0300</pubDate>

		<item>
			<title>Alex</title>
			<description><![CDATA[Попробуйте этот. Гривны можно заменить на рубли<br />
<br />
<pre class="code">
&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;
var money;
var price;
var rub, kop;
var litera = sotny = desatky = edinicy = minus = &quot;&quot;;
var k = 0, i, j;

N = &#091;&quot;&quot;, &quot;одина&quot;, &quot;две&quot;, &quot;три&quot;, &quot;четыре&quot;, &quot;пять&quot;, &quot;шесть&quot;, &quot;семь&quot;, &quot;восемь&quot;, &quot;девять&quot;,
&quot;&quot;, &quot;одиннадцать&quot;, &quot;двенадцать&quot;, &quot;тринадцать&quot;, &quot;четырнадцать&quot;, &quot;пятнадцать&quot;, &quot;шестнадцать&quot;, &quot;семнадцать&quot;, &quot;восемнадцать&quot;, &quot;девятнадцать&quot;,
&quot;&quot;, &quot;десять&quot;, &quot;двадцать&quot;, &quot;тридцать&quot;, &quot;сорок&quot;, &quot;пятьдесят&quot;, &quot;шестьдесят&quot;, &quot;семьдесят&quot;, &quot;восемьдесят&quot;, &quot;девяносто&quot;,
&quot;&quot;, &quot;сто&quot;, &quot;двести&quot;, &quot;триста&quot;, &quot;четыреста&quot;, &quot;пятьсот&quot;, &quot;шестьсот&quot;, &quot;семьсот&quot;, &quot;восемьсот&quot;, &quot;девятьсот&quot;,
&quot;тысяч&quot;, &quot;тысяча&quot;, &quot;тысячи&quot;, &quot;тысячи&quot;, &quot;тысячи&quot;, &quot;тысяч&quot;, &quot;тысяч&quot;, &quot;тысяч&quot;, &quot;тысяч&quot;, &quot;тысяч&quot;,
&quot;миллионов&quot;,&quot;миллион&quot;,&quot;миллиона&quot;,&quot;миллиона&quot;, &quot;миллиона&quot;, &quot;миллионов&quot;, &quot;миллионов&quot;, &quot;миллионов&quot;, &quot;миллионов&quot;, &quot;миллионов&quot;,
&quot;миллиардов&quot;, &quot;миллиард&quot;, &quot;миллиарда&quot;, &quot;миллиарда&quot;, &quot;миллиарда&quot;, &quot;миллиардов&quot;, &quot;миллиардов&quot;, &quot;миллиардов&quot;, &quot;миллиардов&quot;, &quot;миллиардов&quot;&#093;;

var M = new Array(10);
for (j = 0; j &lt; 10; ++j)
  M&#091;j&#093; = new Array(N.length);

for (i = 0; i &lt; N.length; i++)
  for (j = 0; j &lt; 10; j++)
    M&#091;j&#093;&#091;i&#093; = N&#091;k++&#093;

var R = new Array(&quot;гривен&quot;, &quot;гривна&quot;, &quot;гривни&quot;, &quot;гривни&quot;, &quot;гривни&quot;, &quot;гривен&quot;, &quot;гривен&quot;, &quot;гривен&quot;, &quot;гривен&quot;, &quot;гривен&quot;);
var K = new Array(&quot;копеек&quot;, &quot;копейка&quot;, &quot;копейки&quot;, &quot;копейки&quot;, &quot;копейки&quot;, &quot;копеек&quot;, &quot;копеек&quot;, &quot;копеек&quot;, &quot;копеек&quot;, &quot;копеек&quot;);

function num2str(money, target)
{
  rub = &quot;&quot;, kop = &quot;&quot;;
  money = money.replace(&quot;,&quot;, &quot;.&quot;);

  if(isNaN(money)) {document.getElementById(target).innerHTML = &quot;Не числовое значение&quot;; return}
  if(money.substr(0, 1) == &quot;-&quot;) {money = money.substr(1); minus = &quot;минус &quot;}
   else minus = &quot;&quot;;
  money = Math.round(money * 100) / 100 + &quot;&quot;;

  if(money.indexOf(&quot;.&quot;) != -1)
    {
     rub = money.substr(0, money.indexOf(&quot;.&quot;));
     kop = money.substr(money.indexOf(&quot;.&quot;) + 1);
     if(kop.length == 1) kop += &quot;0&quot;;
    }
  else rub = money;

  if(rub.length &gt; 12) {document.getElementById(target).innerHTML = &quot;Слишком большое число&quot;; return}

  ru = propis(price = rub, R);
  ko = propis(price = kop, K);
  ko != &quot;&quot; ? res = ru + &quot; &quot; + ko: res = ru;
  ru == &quot;Ноль &quot; + R&#091;0&#093; &amp;&amp; ko != &quot;&quot;? res = ko: 0;
  kop == 0? res += &quot; ноль &quot; + K&#091;0&#093;: 0;
  document.getElementById(target).innerHTML = (minus + res).substr(0,1).toUpperCase() + (minus + res).substr(1);
}

function propis(price, D)
{
  litera = &quot;&quot;;
  for(i = 0; i &lt; price.length; i += 3)
    {
     sotny = desatky = edinicy = &quot;&quot;;
     if(n(i + 2, 2) &gt; 10 &amp;&amp; n(i + 2, 2) &lt; 20)
       {
        edinicy = &quot; &quot; + M&#091;n(i + 1, 1)&#093;&#091;1&#093; + &quot; &quot; + M&#091;0&#093;&#091;i / 3 + 3&#093;;
        i == 0? edinicy += D&#091;0&#093;: 0;
       }
     else
       {
        edinicy = M&#091;n(i + 1, 1)&#093;&#091;0&#093;;
        (edinicy == &quot;один&quot; &amp;&amp; (i == 3 || D == K))? edinicy = &quot;одна&quot;: 0;
        (edinicy == &quot;два&quot;  &amp;&amp; (i == 3 || D == K))? edinicy = &quot;две&quot; : 0;
        i == 0 &amp;&amp; edinicy != &quot;&quot;? 0: edinicy += &quot; &quot; + M&#091;n(i + 1, 1)&#093;&#091;i / 3 + 3&#093;;
        edinicy == &quot; &quot;? edinicy = &quot;&quot;: (edinicy == &quot; &quot; + M&#091;n(i + 1, 1)&#093;&#091;i / 3 + 3&#093;)? 0: edinicy = &quot; &quot; + edinicy;
        i == 0? edinicy += &quot; &quot; + D&#091;n(i + 1, 1)&#093;: 0;
        (desatky = M&#091;n(i + 2, 1)&#093;&#091;2&#093;) != &quot;&quot;? desatky = &quot; &quot; + desatky: 0;
       }
     (sotny = M&#091;n(i + 3, 1)&#093;&#091;3&#093;) != &quot;&quot;? sotny = &quot; &quot; + sotny: 0;
     if(price.substr(price.length - i - 3, 3) == &quot;000&quot; &amp;&amp; edinicy == &quot; &quot; + M&#091;0&#093;&#091;i / 3 + 3&#093;) edinicy = &quot;&quot;;
     litera = sotny + desatky + edinicy + litera;
    }
   if(litera == &quot; &quot; + R&#091;0&#093;) return &quot;ноль&quot; + litera;
     else return litera.substr(1);
}

function n(start,len)
{
  if(start &gt; price.length) return 0;
    else return Number(price.substr(price.length - start, len));
}

&lt;/script&gt;
</pre>]]></description>
			<pubDate>вс, 12 апр 2009 10:12:57 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=65&d=0#post465]]></link>
		</item>
		<item>
			<title>Nikola</title>
			<description><![CDATA[А есть такая же под JavaScript?]]></description>
			<pubDate>пт, 27 фев 2009 12:11:02 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=65&d=0#post438]]></link>
		</item>
		<item>
			<title>Alex</title>
			<description><![CDATA[Можно как то вот так:<br />
<br />
<pre class="code">
// Функция СУММА ПРОПИСЬЮ

$_1_2&#091;1&#093;=&quot;одна &quot;;
$_1_2&#091;2&#093;=&quot;две &quot;;

$_1_19&#091;1&#093;=&quot;один &quot;;
$_1_19&#091;2&#093;=&quot;два &quot;;
$_1_19&#091;3&#093;=&quot;три &quot;;
$_1_19&#091;4&#093;=&quot;четыре &quot;;
$_1_19&#091;5&#093;=&quot;пять &quot;;
$_1_19&#091;6&#093;=&quot;шесть &quot;;
$_1_19&#091;7&#093;=&quot;семь &quot;;
$_1_19&#091;8&#093;=&quot;восемь &quot;;
$_1_19&#091;9&#093;=&quot;девять &quot;;
$_1_19&#091;10&#093;=&quot;десять &quot;;

$_1_19&#091;11&#093;=&quot;одиннацать &quot;;
$_1_19&#091;12&#093;=&quot;двенадцать &quot;;
$_1_19&#091;13&#093;=&quot;тринадцать &quot;;
$_1_19&#091;14&#093;=&quot;четырнадцать &quot;;
$_1_19&#091;15&#093;=&quot;пятнадцать &quot;;
$_1_19&#091;16&#093;=&quot;шестнадцать &quot;;
$_1_19&#091;17&#093;=&quot;семнадцать &quot;;
$_1_19&#091;18&#093;=&quot;восемнадцать &quot;;
$_1_19&#091;19&#093;=&quot;девятнадцать &quot;;

$des&#091;2&#093;=&quot;двадцать &quot;;
$des&#091;3&#093;=&quot;тридцать &quot;;
$des&#091;4&#093;=&quot;сорок &quot;;
$des&#091;5&#093;=&quot;пятьдесят &quot;;
$des&#091;6&#093;=&quot;шестьдесят &quot;;
$des&#091;7&#093;=&quot;семьдесят &quot;;
$des&#091;8&#093;=&quot;восемдесят &quot;;
$des&#091;9&#093;=&quot;девяносто &quot;;

$hang&#091;1&#093;=&quot;сто &quot;;
$hang&#091;2&#093;=&quot;двести &quot;;
$hang&#091;3&#093;=&quot;триста &quot;;
$hang&#091;4&#093;=&quot;четыреста &quot;;
$hang&#091;5&#093;=&quot;пятьсот &quot;;
$hang&#091;6&#093;=&quot;шестьсот &quot;;
$hang&#091;7&#093;=&quot;семьсот &quot;;
$hang&#091;8&#093;=&quot;восемьсот &quot;;
$hang&#091;9&#093;=&quot;девятьсот &quot;;

$namerub&#091;1&#093;=&quot;рубль &quot;;
$namerub&#091;2&#093;=&quot;рубля &quot;;
$namerub&#091;3&#093;=&quot;рублей &quot;;

$nametho&#091;1&#093;=&quot;тысяча &quot;;
$nametho&#091;2&#093;=&quot;тысячи &quot;;
$nametho&#091;3&#093;=&quot;тысяч &quot;;

$namemil&#091;1&#093;=&quot;миллион &quot;;
$namemil&#091;2&#093;=&quot;миллиона &quot;;
$namemil&#091;3&#093;=&quot;миллионов &quot;;

$namemrd&#091;1&#093;=&quot;миллиард &quot;;
$namemrd&#091;2&#093;=&quot;миллиарда &quot;;
$namemrd&#091;3&#093;=&quot;миллиардов &quot;;

$kopeek&#091;1&#093;=&quot;копейка &quot;;
$kopeek&#091;2&#093;=&quot;копейки &quot;;
$kopeek&#091;3&#093;=&quot;копеек &quot;;


function semantic($i,&amp;$words,&amp;$fem,$f){
global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd;
$words=&quot;&quot;;
$fl=0;
if($i &gt;= 100){
$jkl = intval($i / 100);
$words.=$hang&#091;$jkl&#093;;
$i%=100;
}
if($i &gt;= 20){
$jkl = intval($i / 10);
$words.=$des&#091;$jkl&#093;;
$i%=10;
$fl=1;
}
switch($i){
case 1: $fem=1; break;
case 2:
case 3:
case 4: $fem=2; break;
default: $fem=3; break;
}
if( $i ){
if( $i &lt; 3 &amp;&amp; $f &gt; 0 ){
if ( $f &gt;= 2 ) {
$words.=$_1_19&#091;$i&#093;;
}
else {
$words.=$_1_2&#091;$i&#093;;
}
}
else {
$words.=$_1_19&#091;$i&#093;;
}
}
}


function num2str($L){
global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek;

$s=&quot; &quot;;
$s1=&quot; &quot;;
$s2=&quot; &quot;;
$kop=intval( ( $L*100 - intval( $L )*100 ));
$L=intval($L);
if($L&gt;=1000000000){
$many=0;
semantic(intval($L / 1000000000),$s1,$many,3);
$s.=$s1.$namemrd&#091;$many&#093;;
$L%=1000000000;
}

if($L &gt;= 1000000){
$many=0;
semantic(intval($L / 1000000),$s1,$many,2);
$s.=$s1.$namemil&#091;$many&#093;;
$L%=1000000;
if($L==0){
$s.=&quot;рублей &quot;;
}
}

if($L &gt;= 1000){
$many=0;
semantic(intval($L / 1000),$s1,$many,1);
$s.=$s1.$nametho&#091;$many&#093;;
$L%=1000;
if($L==0){
$s.=&quot;рублей &quot;;
}
}

if($L != 0){
$many=0;
semantic($L,$s1,$many,0);
$s.=$s1.$namerub&#091;$many&#093;;
}

if($kop &gt; 0){
$many=0;
semantic($kop,$s1,$many,1);
$s.=$s1.$kopeek&#091;$many&#093;;
}
else {
$s.=&quot; 00 копеек&quot;;
}

return $s;
}
if (!isset($per)){



// КОНЕЦ функции СУММА ПРОПИСЬЮ
</pre>]]></description>
			<pubDate>сб, 06 сен 2008 07:01:10 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=65&d=0#post270]]></link>
		</item>
		<item>
			<title>Maikl</title>
			<description><![CDATA[Снова созрел вопросик!<br />
<br />
 В общем нужно сумму прописать словами. Как при выписке счета или квитанции. Короче, имеем 25 698 нужно получить &quot;Двадцать пять тысяч шестьсот девяносто восемь&quot;. Заранее огромное спасибо. А то надо срочно.]]></description>
			<pubDate>пт, 05 сен 2008 23:43:10 +0300</pubDate>
			<link><![CDATA[https://lily-software.com/forums?m=posts&q=65&d=0#post267]]></link>
		</item>
	</channel>
</rss>