Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cu ce va aparati de cainii agresi...

Nu imi platiti coletul cu cardul ...

Mi-au disparut amigdalitele ?

Exista vreun plan de terorizare p...
 Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 

Bibliotecă pentru transformat numere în cuvinte?

- - - - -
  • Please log in to reply
12 replies to this topic

#1
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Știe cineva de vreo bibliotecă (sau soluție) deja existentă pentru transformat numerele în cuvinte? E.g. să transforme numărul 333.14 în șirul "trei sute treizeci și trei de lei și paisprezece bani".

#2
andronic312

andronic312

    Member

  • Grup: Members
  • Posts: 902
  • Înscris: 16.01.2009
Interesant, de ce nu-ti faci tu una de la zero? :)


'o suta'=> 100

'zece'=>10

'unul'=>1

Desigur ca va trebui sa te descurci si-n cazuri in care iti va trebui si cuvinte gen "un", "o suta", "doua sute", "o mie" "cinci mii" etc

sorry.. n-am fost de ajutor

#3
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Apoi fac și de la zero, nu-i bai -- însă dacă fac, vreau să fac ceva reutilizabil. Iar în română se pare că avem o problemă surprinzătoare: nu prea știm cum se numesc numerele foarte mari. :(

#4
andronic312

andronic312

    Member

  • Grup: Members
  • Posts: 902
  • Înscris: 16.01.2009
Pai ai putea sa te folosesti de cuvinte gen "un cvadriliard de cvadriliarde"=>10^52  :D sau ai putea inventa tu cuvinte noi pentru biblioteca ta. :)

ps: oricum nu stiu daca exista atatia lei in Romania

Edited by andronic312, 17 March 2012 - 08:54.


#5
strainu

strainu

    Junior Member

  • Grup: Members
  • Posts: 70
  • Înscris: 18.04.2005
http://www.strainu.ro/software/19/

Ai acolo o funcție pentru așa ceva. Codul nu e nici frumos, nici optim, dar se descurcă până la milioane.

'da hell, eu acum 10 ani puneam pe Internet așa ceva?  :coolspeak:

#6
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Mulțumesc, dar după cum spuneam, vreau să-l fac reutilizabil. Iar limitarea până la milioane este mult prea drastică -- vreau să scriu modulul de limbă română pentru PEAR::Number_Words, însă până nu găsesc ceva surse ca lumea pentru numere mai mari nici nu mă apuc de el. În plus, codul tău e foarte buggy, de pildă pentru 12234.1 scoate zecesidouamiidouasutetreizecisipatru si zece bani, iar pentru 1234.1 scoate omiedouasutetreizecisipatru si  bani; am descoperit astea în primele cinci teste, așa că am renunțat repede.

#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
http://pear.php.net/...en_100.php.html

Nu trebuie decât să subclasezi un exemplu de acolo și să te apuci să modifici.

Greu nu e.

Trimite apoi un patch cu numele tău real, îți crește karma  :coolspeak:

#8
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Glumești când spui că nu e greu. E foarte greu, scârbos și cu multe puncte prin care pot scăpa excepții. Dar tocmai de-aia vreau s-o fac. :)

#9
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Nope, nu glumeam. Pare să-ți pună la dispoziție tot ce ai nevoie: http://pear.php.net/...GB.php.html#a86

Deci fix codul pe care l-ai fi scris oricum. Care nu e nici el complicat.

#10
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Confunzi regulile limbii engleze cu cele ale limbii române. În engleză nu ai genuri (în română ai trei), nu ai one-few-many (ai doar one-many), iar pluralurile se obțin adăugând un "s" la orice substantiv. În română e o nenorocire oribilă, incomparabil mai complicată decât oricare dintre celelalte limbi făcute deja. Uite câteva exemple, ca să înțelegi la ce mă refer:

1 -- (en) one dollar (one) -- (ro) un leu (one/masculin)
2 -- (en) two dollars (many) -- (ro) doi lei (few/masculin)
12 -- (en) twelve dollars (many) -- (ro) doisprezece lei (few/masculin)
12000 -- (en) twelve thousand dollars (many) -- (ro) douăsprezece mii de lei (few/feminin+many)
100 -- (en) one hundred dollars (many) -- (ro) o sută de lei (one/feminin+many)
200 -- (en) two hundred dollars (many) -- (ro) două sute de lei (few/feminin+many)
1000 -- (en) one thousand dollars (many) -- (ro) o mie de lei (one/feminin+many)
1001 -- (en) one thousand one dollars (many) -- (ro) o mie un leu (one/feminin+one/masculin)
20000 -- (en) twenty thousand dollars (many) -- (ro) douăzeci de mii de lei (many+many)
101000 -- (en) one hudred one thousand dollars (many) -- (ro) o sută una mii de lei (one/feminin+few/feminin+many)
1000000 -- (en) one million dollars (many) -- (ro) un milion de lei (one/masculin+many)

Am avut nevoie de câteva modificări numai ca să redactez exemplele de mai sus corect. :)

Edited by Gutzas, 18 March 2012 - 17:59.


#11
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Deci eu m-am uitat puțin pe sursele celorlalte limbi și pare să suporte exact genul de problemă expusă de tine. De exemplu în poloneză ;)

#12
strainu

strainu

    Junior Member

  • Grup: Members
  • Posts: 70
  • Înscris: 18.04.2005

View PostGutzas, on 18th March 2012, 13:47, said:

Mulțumesc, dar după cum spuneam, vreau să-l fac reutilizabil. Iar limitarea până la milioane este mult prea drastică -- vreau să scriu modulul de limbă română pentru PEAR::Number_Words, însă până nu găsesc ceva surse ca lumea pentru numere mai mari nici nu mă apuc de el. În plus, codul tău e foarte buggy, de pildă pentru 12234.1 scoate zecesidouamiidouasutetreizecisipatru si zece bani, iar pentru 1234.1 scoate omiedouasutetreizecisipatru si  bani; am descoperit astea în primele cinci teste, așa că am renunțat repede.

No problem, ciudat ar fi fost să NU găsești buguri :)

Dacă ajungi să împingi codul upstream, lasă un mesaj și la Oracol te rog.

#13
Gutzas

Gutzas

    Junior Member

  • Grup: Members
  • Posts: 191
  • Înscris: 19.07.2007
Ok, am trimis language pack la PEAR. Dacă vrea cineva să se joace cu el, îl puteți descărca și de la http://projects.moon...ng.ro_RO.php.gz -- evident, aștept cu interes orice notificări legate de probleme.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate