Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Traduttore da Numeri a Lettere in Inglese
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
caponord
Semidio
Semidio


Registrato: 01/07/04 12:07
Messaggi: 367

MessaggioInviato: 30 Set 2005 20:33    Oggetto: Traduttore da Numeri a Lettere in Inglese Rispondi citando

Probabilmente ciò che cerco non esisterà, ho provato a cercarla coi motori di ricerca ma non c'è stato verso.
In sostanza per lavoro mi capita di dover scrivere un importo (un numero in pratica) in lettere in lingua inglese, per intenrci 10400 = tenthousandfourhundred etc etc
Dato che non sono una cima e cmq è importantissimo non sbagliare, avrei quindi bisogno di un sito dove mi faccia questa conversione, che poi poso copiare ed incollare in un file di testo.
Grazie 1.000 confido in voi:)
caponord
Top
Profilo Invia messaggio privato
danielegr
Dio maturo
Dio maturo


Registrato: 04/05/05 08:54
Messaggi: 2277
Residenza: 43 54 26,81N 7 56 25,35E Altitudine 184 m.

MessaggioInviato: 01 Ott 2005 13:56    Oggetto: Rispondi citando

Avevo scritto una decina di anni fà (forse di più) un programmino in Turbo Pascal che non ho mai collaudato a fondo, e che dovrebbe fare quello che richiedi, però mi sembra che possa funzionare. Vista la sua veneranda età è un 'eseguibile', cioè un .EXE che funziona in DOS (quindi non credo che si possa fare un copia-incolla) Ho visto che si può lanciare anche da Windows (Start-esegui). Non trovo il modo di inserirlo qui (sono 17k), però se vuoi mandarmi un MP con il tuo indirizzo email te lo invio volentieri (è ovvio che è gratuito)
Saluti
[/img]
Top
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 01 Ott 2005 20:58    Oggetto: Rispondi citando

danielegr ha scritto:
Vista la sua veneranda età è un 'eseguibile', cioè un .EXE che funziona in DOS (quindi non credo che si possa fare un copia-incolla) Ho visto che si può lanciare anche da Windows (Start-esegui).

Da una finestra dos in windows , si può benissimo fare un copia incolla in una finestra windows.

E' solo un po' meno diretto:
bisgna premere nell'angolo in alto a sinistra della finestra, aprendo così un menù > modifica > segna
selezionare la parte da copiare,
e poi premere nell'angolo in alto a sinistra della finestra > modifica > copia.

E' un po' più rudimentale (per es. se selezioni un testo su più righe, non gestisce l' "a capo", ma puoi selezionare solo un rettangolo)
Top
Profilo Invia messaggio privato
caponord
Semidio
Semidio


Registrato: 01/07/04 12:07
Messaggi: 367

MessaggioInviato: 01 Ott 2005 23:34    Oggetto: Rispondi

Grazie, avrei risolto con una macro excel che sembra funzionare perfettamente, del resto non l'ho detto ma dovrei usarla proprio con un folgio excel.

Ecco se può servire anche ad altri:



Codice:
' Convert an integer into an English string
Function english(ByVal dbl As Double) As String
Const Thousand = 1000&
Const Million = Thousand * Thousand
Const Billion = Thousand * Million
'Const Trillion = Thousand * Billion

Dim Buf As String: Buf = ""
Dim N As Long
Dim dec As String: dec = ""

Application.Volatile True
If (dbl = 0) Then english = "zero": Exit Function

If (dbl < 0) Then Buf = "negative "

N = Int(Abs(dbl))
dec = Mid(CStr(dbl), InStr(CStr(dbl) & ",", ",") + 1)

If (N >= Billion) Then
Buf = Buf & EnglishDigitGroup(N \ Billion) & "billion"
N = N Mod Billion
'If (N) Then Buf = Buf & " "
End If

If (N >= Million) Then
Buf = Buf & EnglishDigitGroup(N \ Million) & "million"
N = N Mod Million
'If (N) Then Buf = Buf & " "
End If

If (N >= Thousand) Then
Buf = Buf & EnglishDigitGroup(N \ Thousand) & "thousand"
N = N Mod Thousand
'If (N) Then Buf = Buf & " "
End If

If (N > 0) Then
Buf = Buf & EnglishDigitGroup(N)
End If

If (dec > "") Then
Buf = Buf & "/" & dec
End If

english = Buf
End Function
' Support function to be used only by English()
Private Function EnglishDigitGroup(ByVal N As Integer) As String
Const Hundred = "hundred"
Const One = "one"
Const Two = "two"
Const Three = "three"
Const Four = "four"
Const Five = "five"
Const Six = "six"
Const Seven = "seven"
Const Eight = "eight"
Const Nine = "nine"
Dim Buf As String: Buf = ""
Dim Flag As Integer: Flag = False

'Do hundreds
Select Case (N \ 100)
Case 0: Buf = "": Flag = False
Case 1: Buf = One & Hundred: Flag = True
Case 2: Buf = Two & Hundred: Flag = True
Case 3: Buf = Three & Hundred: Flag = True
Case 4: Buf = Four & Hundred: Flag = True
Case 5: Buf = Five & Hundred: Flag = True
Case 6: Buf = Six & Hundred: Flag = True
Case 7: Buf = Seven & Hundred: Flag = True
Case 8: Buf = Eight & Hundred: Flag = True
Case 9: Buf = Nine & Hundred: Flag = True
End Select

If (Flag) Then N = N Mod 100
If (N) Then
'If (Flag) Then Buf = Buf & " "
Else
EnglishDigitGroup = Buf
Exit Function
End If

'Do tens (except teens)
Select Case (N \ 10)
Case 0, 1: Flag = False
Case 2: Buf = Buf & "twenty": Flag = True
Case 3: Buf = Buf & "thirty": Flag = True
Case 4: Buf = Buf & "forty": Flag = True
Case 5: Buf = Buf & "fifty": Flag = True
Case 6: Buf = Buf & "sixty": Flag = True
Case 7: Buf = Buf & "seventy": Flag = True
Case 8: Buf = Buf & "eighty": Flag = True
Case 9: Buf = Buf & "ninety": Flag = True
End Select

If (Flag) Then N = N Mod 10
If (N) Then
If (Flag) Then Buf = Buf & "-"
Else
EnglishDigitGroup = Buf
Exit Function
End If

'Do ones and teens
Select Case (N)
Case 0: ' do nothing
Case 1: Buf = Buf & One
Case 2: Buf = Buf & Two
Case 3: Buf = Buf & Three
Case 4: Buf = Buf & Four
Case 5: Buf = Buf & Five
Case 6: Buf = Buf & Six
Case 7: Buf = Buf & Seven
Case 8: Buf = Buf & Eight
Case 9: Buf = Buf & Nine
Case 10: Buf = Buf & "ten"
Case 11: Buf = Buf & "eleven"
Case 12: Buf = Buf & "twelve"
Case 13: Buf = Buf & "thirteen"
Case 14: Buf = Buf & "fourteen"
Case 15: Buf = Buf & "fifteen"
Case 16: Buf = Buf & "sixteen"
Case 17: Buf = Buf & "seventeen"
Case 18: Buf = Buf & "eighteen"
Case 19: Buf = Buf & "nineteen"
End Select

EnglishDigitGroup = Buf
End Function


Grazie cmq per le risposte.
Ciao
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi