Precedente :: Successivo |
Autore |
Messaggio |
caponord Semidio
Registrato: 01/07/04 12:07 Messaggi: 367
|
Inviato: 30 Set 2005 20:33 Oggetto: Traduttore da Numeri a Lettere in Inglese |
|
|
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 |
|
|
danielegr Dio maturo
Registrato: 04/05/05 08:54 Messaggi: 2277 Residenza: 43 54 26,81N 7 56 25,35E Altitudine 184 m.
|
Inviato: 01 Ott 2005 13:56 Oggetto: |
|
|
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 |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 01 Ott 2005 20:58 Oggetto: |
|
|
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 |
|
|
caponord Semidio
Registrato: 01/07/04 12:07 Messaggi: 367
|
Inviato: 01 Ott 2005 23:34 Oggetto: |
|
|
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 |
|
|
|
|
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
|
|