Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zamiana liczby na jej postać słowną!
saszka
post 2.04.2005, 14:00:52
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Mam taką funkcję, która zamienia liczbę na jej postać słowną wraz ze wszystkimi polkimi literami itd itp, z paroma miejscami po przecinku, ale niestety jest napisana w java scripcie, a potrzebuje cos takie w php. Ma ktos może cos takiego w swoich zasobach? dziekuje z góry
Go to the top of the page
+Quote Post
nospor
post 2.04.2005, 14:16:30
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




oj bez przesady. mając kod w JS to wystarczy tylko pomysleć i zamienić na php. Wiele instrukcji jest podobnych. Trochę się wysilić, a nie tylko liczyć na gotowe.

A pozatym poszukaj na forum. Już ktoś podował do tego skrypcik


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zbig13
post 2.04.2005, 14:16:33
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

Ostrzeżenie: (0%)
-----


http://forum.php.pl/index.php?showtopic=27673
Go to the top of the page
+Quote Post
ActivePlayer
post 2.04.2005, 15:38:17
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


BB CODE :[
Go to the top of the page
+Quote Post
saszka
post 2.04.2005, 17:09:42
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Kod
function kwotaFormat(n)
{
    n=~~n+'.'+('0'+Math.round(n*100)).slice(-2)
    var k=n.split('.'),w=k[1]?'.'+k[1]:'',i=0,L=k[0].length;
    while(i++<L)w=n.charAt(L-i)+(i%3==1&&i!=1?' ':'')+w;
    return w
}

function zera(u,n)
{
    return(''+u).length==n?u:zera('0'+u,n)
}

function kwotaSlownie(n,r)
{
var t='',i,u,
j=['','jeden','dwa','trzy','cztery','pięć','sześć','siedem','osiem','dziewięć'],
a=['dziesięć','jedenaście','dwanaście','trzynaście','czternaście','piętnaście','szesnaście','siedemnaście','osiemnaście','dziewiętnaście'],
d=['','dziesięć','dwadzieścia','trzydzieści','czterdzieści','pięćdziesiąt','sześćdziesiąt','siedemdziesiąt','osiemdziesiąt','dziewięćdziesiąt'],
s=['','sto','dwieście','trzysta','czterysta','pięćset','sześćset','siedemset','osiemset','dziewięćset'],
r=(r||['grosz','','e','y', 'złot','y','e','ych']).concat(['tysi','ąc','ące','ęcy','milion','','y','ów','miliard','','y','ów','bilion','','y','ów']);

function nS(o,m)
{
    var w,k=zera(o,3).split('');
   w=s[k[0]]+' '+(k[1]!=1?d[k[1]]+' ':a[k[2]])+(k[1]!=1?j[k[2]]:'');
   return w+(o>0?(' '+r[m*=4]+r[m+(o==1?1:k[2]<5&&k[2]>1&&k[1]!=1?2:3)]):'');
}

n=kwotaFormat(n);
n=n.split(/(\.| )/).reverse();

for(i=0;i<n.length;i++)
{
   u=nS(n[i],i);
   =(/\w/.test(u)?u+' ':'')+t
}
return t;
}
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 17:36