Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Number sõnadeks märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Riivo
HV Guru
Riivo

liitunud: 23.02.2004




sõnum 16.05.2022 19:11:05 Number sõnadeks vasta tsitaadiga

Kas keegi oskab pakkuda mingit teeki, mis teeks numbrid eestikeelseteks sõnadeks? Skriptimiskeele osas olen paindlik. Teen isiklikus tarbeks väikest konsoolirakendust, mis koostab arveid ja soovin sinna lisada välja "summa sõnadega".

Äkki keegi Pythonis osav suudab siia eesti keele lisada? Soome keele faili annaks usutavasti aluseks võtta. Ma võin testimisega abiks olla.
Kommentaarid: 233 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 221
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 16.05.2022 22:25:12 vasta tsitaadiga

Üks vana postitus, aga kuna keel pole muutunud, siis saad ehk snitti võtta https://foorum.hinnavaatlus.ee/viewtopic.php?p=4989706#4989706
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
tarmo66
HV vaatleja

liitunud: 13.10.2008




sõnum 17.05.2022 16:18:57 vasta tsitaadiga

php

https://www.phptpoint.com/convert-number-into-words-in-php/
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 14
tagasi üles
vaata kasutaja infot saada privaatsõnum
Riivo
HV Guru
Riivo

liitunud: 23.02.2004




sõnum 20.06.2022 10:36:26 vasta tsitaadiga

Tegin oma lahenduse Pythonis. Konstruktiivne kriitika on teretulnud. Kindlasti annab paremaks teha.
python:
  1. digits = {
  2.   0: '',
  3.   1: 'üks',
  4.   2: 'kaks',
  5.   3: 'kolm',
  6.   4: 'neli',
  7.   5: 'viis',
  8.   6: 'kuus',
  9.   7: 'seitse',
  10.   8: 'kaheksa',
  11.   9: 'üheksa'
  12. }
  13.  
  14. thousands = {
  15.   9: 'miljardit',
  16.   6: 'miljonit',
  17.   3: 'tuhat',
  18.   0: ''
  19. }
  20.  
  21. def get_digit(number, n):
  22.   return number // 10**n % 10
  23.  
  24. def get_thousands(number, n):
  25.   return round(int(number / 10**n) / 1000 % 1 * 1000)
  26.  
  27. def thousand2words(number):
  28.   words = ''
  29.   if get_digit(number, 2):
  30.     words += digits[get_digit(number, 2)] + 'sada '
  31.   if get_digit(number, 1):
  32.     if get_digit(number, 1) == 1:
  33.         if get_digit(number, 0) == 0:
  34.           words += 'kümme'
  35.         else:
  36.           words += digits[get_digit(number, 0)] + 'teist'
  37.         return words
  38.     else:
  39.       words += digits[get_digit(number, 1)] + 'kümmend '
  40.   words += digits[get_digit(number, 0)]
  41.   return words.strip()
  42.  
  43. def num2words_et(number):
  44.   words = ''
  45.   for thousand in thousands:
  46.     if get_thousands(number, thousand):
  47.       words += thousand2words(get_thousands(number, thousand)) + ' '
  48.       words += thousands[thousand] if get_thousands(number, thousand) != 1 \
  49.         else thousands[thousand].replace('it', '')
  50.       words += ' '
  51.   return words.strip()
Kommentaarid: 233 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 221
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Number sõnadeks
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.