Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-06-2006, 14:06   #1
Joblack84
Member
 
Iscritto dal: Apr 2006
Messaggi: 194
convertire un numero in lettere

Mi servirebbe sapere conme convertire un numero in lettere ad esempio 11 con undici. uso il vb6
Joblack84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:19   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Joblack84
Mi servirebbe sapere conme convertire un numero in lettere ad esempio 11 con undici. uso il vb6
Credo che valga per qualunque linguaggio .... non esiste una funzione "standard" che faccia questo, è una cosa troppo specifica.
Io comunque avevo fatto una funzione in "C" che convertiva appunto un numero nella sua forma "letterale". L'algoritmo non è neanche particolarmente complicato, almeno per quanto riguarda l'italiano è semplice.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:25   #3
Joblack84
Member
 
Iscritto dal: Apr 2006
Messaggi: 194
Quote:
Originariamente inviato da andbin
Credo che valga per qualunque linguaggio .... non esiste una funzione "standard" che faccia questo, è una cosa troppo specifica.
Io comunque avevo fatto una funzione in "C" che convertiva appunto un numero nella sua forma "letterale". L'algoritmo non è neanche particolarmente complicato, almeno per quanto riguarda l'italiano è semplice.
e puoi gentilmente aiutarmi dicendomi l'algoritmo
Joblack84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:34   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da Joblack84
e puoi gentilmente aiutarmi dicendomi l'algoritmo
Certo ... solo che in questo momento non lo ricordo di preciso! Stasera a casa riprendo quel mio (vecchio) sorgente e se vuoi lo posto e lo spiego.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:39   #5
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Ti riporto un codice che avevo fatto tantissimi anni fa in vb6, assolutamente non ottimizzato ma perfettamente funzionante sia con numeri grandi grandi che con la virgola; restituisce una stringa.

Codice:
Public Function NumeroInLettere(NrAnalizzato As String, Optional Valuta As String, Optional Formato As Byte) As String
    'NrAnalizzato = Numero da convertire
    'Valuta = lire, euro, £, € oppure vuoto
    'Formato= 0 tutto minuscolo, 1 tutto maiuscolo,
    '2 primo carattere maiuscolo se omesso è uguale a 0
    Dim Miliardi, Milioni, Migliaia, Centinaia, Centesimi, inLettere
    NrAnalizzato = Right("000000000000" & Format(NrAnalizzato, "###0.00"), 15)
    NrAnalizzato = Left(NrAnalizzato, 12) & "0" & Right(NrAnalizzato, 2)
    If Val(Mid(NrAnalizzato, 1, 3)) = 1 Then Miliardi = "unmiliardo"
    If Val(Mid(NrAnalizzato, 1, 3)) > 1 Then Miliardi = DefinisciNumero(Mid(NrAnalizzato, 1, 3)) & "miliardi"
    If Val(Mid(NrAnalizzato, 4, 3)) = 1 Then Milioni = "unmilione"
    If Val(Mid(NrAnalizzato, 4, 3)) > 1 Then Milioni = DefinisciNumero(Mid(NrAnalizzato, 4, 3)) & "milioni"
    If Val(Mid(NrAnalizzato, 7, 3)) = 1 Then Migliaia = "mille"
    If Val(Mid(NrAnalizzato, 7, 3)) > 1 Then Migliaia = DefinisciNumero(Mid(NrAnalizzato, 7, 3)) & "mila"
    If Val(Mid(NrAnalizzato, 10, 3)) = 1 Then Centinaia = "cento"
    If Val(Mid(NrAnalizzato, 10, 3)) > 1 Then Centinaia = DefinisciNumero(Mid(NrAnalizzato, 10, 3))
    If Val(Mid(NrAnalizzato, 13, 3)) = 1 Then Centesimi = "uncentesimo"
    If Val(Mid(NrAnalizzato, 13, 3)) > 1 Then Centesimi = DefinisciNumero(Mid(NrAnalizzato, 13, 3)) & "centesimi"
    If Centinaia = "" And Migliaia = "" And Valuta <> "" Then Valuta = "di" & Valuta
    inLettere = Miliardi & Milioni & Migliaia & Centinaia & Valuta & Centesimi
    If Formato = 0 Then NumeroInLettere = StrConv(inLettere, vbLowerCase)
    If Formato = 1 Then NumeroInLettere = StrConv(inLettere, vbUpperCase)
    If Formato = 2 Then NumeroInLettere = StrConv(inLettere, vbProperCase)
End Function

Function DefinisciNumero(Numero000 As String) As String
    Dim numero0
    Dim nrCento, nrDieci, stNumero0
    nrCento = Val(Mid(Numero000, 1, 1))
    nrDieci = Val(Mid(Numero000, 2, 2))
    numero0 = Array("zero", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", _
                    "otto", "nove", "dieci", "undici", "dodici", "tredici", "quattordici", _
                    "quindici", "sedici", "diciassette", "diciotto", "diciannove", "venti", _
                    "ventuno", "ventidue", "ventitre", _
                    "ventiquattro", "venticinque", "ventisei", "ventisette", "ventotto", "ventinove", _
                    "trenta", "trentuno", "trentadue", "trentatre", "trentaquattro", "trentacinque", _
                    "trentasei", "trentasette", "trentotto", "trentanove", "quaranta", "quarantuno", _
                    "quarantadue", "quarantatre", "quarantaquattro", "quarantacinque", _
                    "quarantasei", "quarantasette", "quarantotto", "quarantanove", "cinquanta", "cinquantuno", _
                    "cinquantadue", "cinquantatre", "cinquantaquattro", "cinquantacinque", "cinquantasei", "cinquantasette", _
                    "cinquantotto", "cinquantanove", "sessanta", "sessantuno", "sessantadue", "sessantatre", _
                    "sessantaquattro", "sessantacinque", _
                    "sessantasei", "sessantasette", "sessantotto", _
                    "sessantanove", "settanta", "settantuno", _
                    "settantadue", "settantatre", _
                    "settantaquattro", "settantacinque", _
                    "settantasei", "settantasette", "settantotto", _
                    "settantanove", "ottanta", "ottantuno", _
                    "ottantadue", "ottantatre", "ottantaquattro", _
                    "ottantacinque", "ottantasei", "ottantasette", _
                    "ottantotto", "ottantanove", "novanta", _
                    "novantuno", "novantadue", "novantatre", _
                    "novantaquattro", "novantacinque", _
                    "novantasei", "novantasette", "novantotto", _
                    "novantanove")
    If nrCento = 1 Then stNumero0 = "cento"
    If nrCento > 1 Then stNumero0 = numero0(nrCento) & "cento"
    If nrDieci > 0 Then stNumero0 = stNumero0 & numero0(nrDieci)
                                            
    DefinisciNumero = stNumero0
End Function
L' uso è ad esempio questo:
Codice:
Private Sub Command1_Click()
    Text1.Text = NumeroInLettere(123456)
End Sub
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:44   #6
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Ecco, questo l' ho trovato in un altro progetto che avevo fatto tanto tempo fa ... ed è più ottimizzato e corto, ma non supporta i numeri decimali.

Codice:
Function Lettere(wknumero) As String
    Dim WkCentinaia, WkMigliaia, WkMilioni, WkMiliardi, WkStringa As String
    Dim pass As Byte
    wknumero = Str$(Int(wknumero))
    wknumero = Space(12 - Len(wknumero)) + wknumero
    WkMiliardi = Left$(wknumero, 3)
    WkMilioni = Mid$(wknumero, 4, 3)
    WkMigliaia = Mid$(wknumero, 7, 3)
    WkCentinaia = Mid$(wknumero, 10, 3)
    WkStringa = ""
    For pass = 1 To 4
        Select Case pass
            Case Is = 1
                If Val(WkMiliardi) = 1 Then
                    WkStringa = WkStringa + "unmiliardo"
                End If
                If Val(WkMiliardi) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMiliardi) + "miliardi"
                End If
            Case Is = 2
                If Val(WkMilioni) = 1 Then
                    WkStringa = WkStringa + "unmilione"
                End If
                If Val(WkMilioni) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMilioni) + "milioni"
                End If
            Case Is = 3
                If Val(WkMigliaia) = 1 Then
                    WkStringa = WkStringa + "mille"
                End If
                If Val(WkMigliaia) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMigliaia) + "mila"
                End If
            Case Is = 4
                If Val(WkCentinaia) > 0 Then
                    WkStringa = WkStringa + NumTrd(WkCentinaia)
                End If
                If Val(WkCentinaia) = 0 Then
                    If WkStringa = "" Then WkStringa = "zero"
                End If
        End Select
    Next
    Lettere = WkStringa
End Function

Function cifranum(item) As String
    Dim cifra(27) As String
    cifra(1) = "uno"
    cifra(2) = "due"
    cifra(3) = "tre"
    cifra(4) = "quattro"
    cifra(5) = "cinque"
    cifra(6) = "sei"
    cifra(7) = "sette"
    cifra(8) = "otto"
    cifra(9) = "nove"
    cifra(10) = "dieci"
    cifra(11) = "undici"
    cifra(12) = "dodici"
    cifra(13) = "tredici"
    cifra(14) = "quattordici"
    cifra(15) = "quindici"
    cifra(16) = "sedici"
    cifra(17) = "diciassette"
    cifra(18) = "diciotto"
    cifra(19) = "diciannove"
    cifra(20) = "venti"
    cifra(21) = "trenta"
    cifra(22) = "quaranta"
    cifra(23) = "cinquanta"
    cifra(24) = "sessanta"
    cifra(25) = "settanta"
    cifra(26) = "ottanta"
    cifra(27) = "novanta"
    cifranum = cifra(item)
End Function

Function GetCifra(item) As String
    Dim CurrItem As String
    If item <= 20 Then
        CurrItem = cifranum(item)
    Else
        CurrItem = cifranum((item - 30) / 10 + 21)
    End If
    GetCifra = CurrItem
End Function

Function NumTrd(WkNum)
    Dim WkCif1, WkCif2, WkCif3 As Integer
    Dim WkCif As String
    WkNum = Space(3 - Len(WkNum)) + WkNum
    WkCif = ""
    WkCif1 = Val(Left(WkNum, 1))
    WkCif2 = Val(Mid$(WkNum, 2, 1))
    WkCif3 = Val(Mid$(WkNum, 3, 1))
    If WkCif1 = 1 Then
        WkCif = "cento"
    End If
    If WkCif1 > 1 Then
        WkCif = GetCifra(WkCif1) + "cento"
    End If
    If WkCif2 > 1 And (WkCif3 = 1 Or WkCif3 = 8) Then
        WkCif = WkCif + Left(GetCifra(WkCif2 * 10), Len(GetCifra(WkCif2 * 10)) - 1)
    ElseIf WkCif2 > 1 And WkCif3 > 1 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10)
    ElseIf WkCif2 > 0 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10 + WkCif3)
        WkCif3 = 0
    End If
    If WkCif3 > 0 Then
        WkCif = WkCif + GetCifra(WkCif3)
    End If
    NumTrd = WkCif
End Function


Private Sub Command1_Click()
    Text1.Text = Lettere(1234567)
End Sub
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:56   #7
Joblack84
Member
 
Iscritto dal: Apr 2006
Messaggi: 194
Quote:
Originariamente inviato da mynos79
Ecco, questo l' ho trovato in un altro progetto che avevo fatto tanto tempo fa ... ed è più ottimizzato e corto, ma non supporta i numeri decimali.

Codice:
Function Lettere(wknumero) As String
    Dim WkCentinaia, WkMigliaia, WkMilioni, WkMiliardi, WkStringa As String
    Dim pass As Byte
    wknumero = Str$(Int(wknumero))
    wknumero = Space(12 - Len(wknumero)) + wknumero
    WkMiliardi = Left$(wknumero, 3)
    WkMilioni = Mid$(wknumero, 4, 3)
    WkMigliaia = Mid$(wknumero, 7, 3)
    WkCentinaia = Mid$(wknumero, 10, 3)
    WkStringa = ""
    For pass = 1 To 4
        Select Case pass
            Case Is = 1
                If Val(WkMiliardi) = 1 Then
                    WkStringa = WkStringa + "unmiliardo"
                End If
                If Val(WkMiliardi) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMiliardi) + "miliardi"
                End If
            Case Is = 2
                If Val(WkMilioni) = 1 Then
                    WkStringa = WkStringa + "unmilione"
                End If
                If Val(WkMilioni) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMilioni) + "milioni"
                End If
            Case Is = 3
                If Val(WkMigliaia) = 1 Then
                    WkStringa = WkStringa + "mille"
                End If
                If Val(WkMigliaia) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMigliaia) + "mila"
                End If
            Case Is = 4
                If Val(WkCentinaia) > 0 Then
                    WkStringa = WkStringa + NumTrd(WkCentinaia)
                End If
                If Val(WkCentinaia) = 0 Then
                    If WkStringa = "" Then WkStringa = "zero"
                End If
        End Select
    Next
    Lettere = WkStringa
End Function

Function cifranum(item) As String
    Dim cifra(27) As String
    cifra(1) = "uno"
    cifra(2) = "due"
    cifra(3) = "tre"
    cifra(4) = "quattro"
    cifra(5) = "cinque"
    cifra(6) = "sei"
    cifra(7) = "sette"
    cifra(8) = "otto"
    cifra(9) = "nove"
    cifra(10) = "dieci"
    cifra(11) = "undici"
    cifra(12) = "dodici"
    cifra(13) = "tredici"
    cifra(14) = "quattordici"
    cifra(15) = "quindici"
    cifra(16) = "sedici"
    cifra(17) = "diciassette"
    cifra(18) = "diciotto"
    cifra(19) = "diciannove"
    cifra(20) = "venti"
    cifra(21) = "trenta"
    cifra(22) = "quaranta"
    cifra(23) = "cinquanta"
    cifra(24) = "sessanta"
    cifra(25) = "settanta"
    cifra(26) = "ottanta"
    cifra(27) = "novanta"
    cifranum = cifra(item)
End Function

Function GetCifra(item) As String
    Dim CurrItem As String
    If item <= 20 Then
        CurrItem = cifranum(item)
    Else
        CurrItem = cifranum((item - 30) / 10 + 21)
    End If
    GetCifra = CurrItem
End Function

Function NumTrd(WkNum)
    Dim WkCif1, WkCif2, WkCif3 As Integer
    Dim WkCif As String
    WkNum = Space(3 - Len(WkNum)) + WkNum
    WkCif = ""
    WkCif1 = Val(Left(WkNum, 1))
    WkCif2 = Val(Mid$(WkNum, 2, 1))
    WkCif3 = Val(Mid$(WkNum, 3, 1))
    If WkCif1 = 1 Then
        WkCif = "cento"
    End If
    If WkCif1 > 1 Then
        WkCif = GetCifra(WkCif1) + "cento"
    End If
    If WkCif2 > 1 And (WkCif3 = 1 Or WkCif3 = 8) Then
        WkCif = WkCif + Left(GetCifra(WkCif2 * 10), Len(GetCifra(WkCif2 * 10)) - 1)
    ElseIf WkCif2 > 1 And WkCif3 > 1 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10)
    ElseIf WkCif2 > 0 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10 + WkCif3)
        WkCif3 = 0
    End If
    If WkCif3 > 0 Then
        WkCif = WkCif + GetCifra(WkCif3)
    End If
    NumTrd = WkCif
End Function

Private Sub Command1_Click()
    Text1.Text = Lettere(1234567)
End Sub
grazie funziona abbastanza bene non funziona sol con le virgole ma è un problema che risolvero
Joblack84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 14:58   #8
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Il codice lunghissimo del mio 1° post invece funzia anche con la virgola ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 15:00   #9
Joblack84
Member
 
Iscritto dal: Apr 2006
Messaggi: 194
Quote:
Originariamente inviato da mynos79
Il codice lunghissimo del mio 1° post invece funzia anche con la virgola ...
si maquello parte da 100 se scrivo 1 mi scive "cento" cmq forse sbaglio ad inserire il codice cmq grazie mille mi hai salvato da un paio di ore di stress
Joblack84 è offline   Rispondi citando il messaggio o parte di esso
Old 21-06-2006, 15:06   #10
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Ops, è vero ... solo 1 mette cento, poi dal 2 in poi funziona bene ... non me ne ero mai accorto
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 07:22   #11
Dr.Speed
Senior Member
 
L'Avatar di Dr.Speed
 
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
interesserebbe anche a me questa cosa, ma sono un supernubbio, come faccio a provare il tuo programma? cioe dove metto il codice? grazie mille
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW
\_\_\_\_\_DrSpeed_/_/_/_/_/
Dr.Speed è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 09:09   #12
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Beh, l' ultimo codice che ho postato:

Codice:
Function Lettere(wknumero) As String
    Dim WkCentinaia, WkMigliaia, WkMilioni, WkMiliardi, WkStringa As String
    Dim pass As Byte
    wknumero = Str$(Int(wknumero))
    wknumero = Space(12 - Len(wknumero)) + wknumero
    WkMiliardi = Left$(wknumero, 3)
    WkMilioni = Mid$(wknumero, 4, 3)
    WkMigliaia = Mid$(wknumero, 7, 3)
    WkCentinaia = Mid$(wknumero, 10, 3)
    WkStringa = ""
    For pass = 1 To 4
        Select Case pass
            Case Is = 1
                If Val(WkMiliardi) = 1 Then
                    WkStringa = WkStringa + "unmiliardo"
                End If
                If Val(WkMiliardi) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMiliardi) + "miliardi"
                End If
            Case Is = 2
                If Val(WkMilioni) = 1 Then
                    WkStringa = WkStringa + "unmilione"
                End If
                If Val(WkMilioni) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMilioni) + "milioni"
                End If
            Case Is = 3
                If Val(WkMigliaia) = 1 Then
                    WkStringa = WkStringa + "mille"
                End If
                If Val(WkMigliaia) > 1 Then
                    WkStringa = WkStringa + NumTrd(WkMigliaia) + "mila"
                End If
            Case Is = 4
                If Val(WkCentinaia) > 0 Then
                    WkStringa = WkStringa + NumTrd(WkCentinaia)
                End If
                If Val(WkCentinaia) = 0 Then
                    If WkStringa = "" Then WkStringa = "zero"
                End If
        End Select
    Next
    Lettere = WkStringa
End Function

Function cifranum(item) As String
    Dim cifra(27) As String
    cifra(1) = "uno"
    cifra(2) = "due"
    cifra(3) = "tre"
    cifra(4) = "quattro"
    cifra(5) = "cinque"
    cifra(6) = "sei"
    cifra(7) = "sette"
    cifra(8) = "otto"
    cifra(9) = "nove"
    cifra(10) = "dieci"
    cifra(11) = "undici"
    cifra(12) = "dodici"
    cifra(13) = "tredici"
    cifra(14) = "quattordici"
    cifra(15) = "quindici"
    cifra(16) = "sedici"
    cifra(17) = "diciassette"
    cifra(18) = "diciotto"
    cifra(19) = "diciannove"
    cifra(20) = "venti"
    cifra(21) = "trenta"
    cifra(22) = "quaranta"
    cifra(23) = "cinquanta"
    cifra(24) = "sessanta"
    cifra(25) = "settanta"
    cifra(26) = "ottanta"
    cifra(27) = "novanta"
    cifranum = cifra(item)
End Function

Function GetCifra(item) As String
    Dim CurrItem As String
    If item <= 20 Then
        CurrItem = cifranum(item)
    Else
        CurrItem = cifranum((item - 30) / 10 + 21)
    End If
    GetCifra = CurrItem
End Function

Function NumTrd(WkNum)
    Dim WkCif1, WkCif2, WkCif3 As Integer
    Dim WkCif As String
    WkNum = Space(3 - Len(WkNum)) + WkNum
    WkCif = ""
    WkCif1 = Val(Left(WkNum, 1))
    WkCif2 = Val(Mid$(WkNum, 2, 1))
    WkCif3 = Val(Mid$(WkNum, 3, 1))
    If WkCif1 = 1 Then
        WkCif = "cento"
    End If
    If WkCif1 > 1 Then
        WkCif = GetCifra(WkCif1) + "cento"
    End If
    If WkCif2 > 1 And (WkCif3 = 1 Or WkCif3 = 8) Then
        WkCif = WkCif + Left(GetCifra(WkCif2 * 10), Len(GetCifra(WkCif2 * 10)) - 1)
    ElseIf WkCif2 > 1 And WkCif3 > 1 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10)
    ElseIf WkCif2 > 0 Then
        WkCif = WkCif + GetCifra(WkCif2 * 10 + WkCif3)
        WkCif3 = 0
    End If
    If WkCif3 > 0 Then
        WkCif = WkCif + GetCifra(WkCif3)
    End If
    NumTrd = WkCif
End Function

Private Sub Command1_Click()
    Text1.Text = Lettere(1234567)
End Sub
basta che lo copi interamente nel codice di un form; preoccupati di inserire nel form anche una textbox di nome Text1 e un pulsante di nome Command1 ... semplicemente per trasformare un numero in una stringa basta usare la funzione Lettere(numero) che restituisce appunto una stringa ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 21:43   #13
Dr.Speed
Senior Member
 
L'Avatar di Dr.Speed
 
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
scusami, cose un form?
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW
\_\_\_\_\_DrSpeed_/_/_/_/_/
Dr.Speed è offline   Rispondi citando il messaggio o parte di esso
Old 22-06-2006, 21:49   #14
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415

Cos'è un form?

Spero tu mi stia prendendo in giro ... o forse no ...

Comunque un form è la maschera del programma, la finestra del programma ...
Quando crei un nuovo progetto in VB ti ritrovi il form vuoto davanti (con solamente l'icona, il titolo standard ed i pulsantini di riduzione e massimizzazione).
Fa doppio click sopra e passi nella pagina in cui puoi inserire il codice relativo al form ... cancella le scritte preesistenti (Private Sub Form_Load ....) ed incolla il codice.
Ora torna alla visualizzazione grafica e disegnaci un pulsante ed una textbox ...

L' ultima riga di codice è quella da modificare:
Text1.Text = Lettere(1234567)

Se ad esempio vuoi inserire tu da programma il valore in una seconda textbox, basta che disegni una seconda textbox (lasci i nomi standard, ovvero Text2) e cambi quella riga con questa:
Text1.Text = Lettere(val(Text2.Text))
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino

Ultima modifica di mynos79 : 22-06-2006 alle 21:55.
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 01:10   #15
Dr.Speed
Senior Member
 
L'Avatar di Dr.Speed
 
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
pultroppo nn ti sto prendendo in giro

ora devo capire cos'e un VB, ma cerco con google, grazie mille per la disponibilita
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW
\_\_\_\_\_DrSpeed_/_/_/_/_/
Dr.Speed è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 01:12   #16
Dr.Speed
Senior Member
 
L'Avatar di Dr.Speed
 
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
visual basic, ottimo, ma dove trovo una console di visual basic? mi ricordo che sui vecchi 386-486 bastava scrivere da dos visual basic ma su questi nuovi pc con windows xp nn succede nulla mi sembra
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW
\_\_\_\_\_DrSpeed_/_/_/_/_/
Dr.Speed è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 09:44   #17
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Quote:
Originariamente inviato da Dr.Speed
visual basic, ottimo, ma dove trovo una console di visual basic? mi ricordo che sui vecchi 386-486 bastava scrivere da dos visual basic ma su questi nuovi pc con windows xp nn succede nulla mi sembra
Che dici ... lo installiamo sto Visual Basic prima di usarlo?
Comunque anche in dos non c'era preinstallato il Visual Basic, ma solamente il Basic o GwBasic ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 10:23   #18
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da mynos79
ma solamente il Basic o GwBasic ...
C'era il QBasic
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 10:30   #19
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Quote:
Originariamente inviato da andbin
C'era il QBasic
Eh eh hai ragione che bei tempi quando ero piccolino
Il GwBasic era una versione leggermente diversa dell' Ibm o Olivetti, non ricordo.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-06-2006, 15:53   #20
Dr.Speed
Senior Member
 
L'Avatar di Dr.Speed
 
Iscritto dal: Jun 2004
Città: Monselice (PD)
Messaggi: 4641
si si mi ricordo anchio il QBasic
__________________
2500KCorsair H70Asrock EXTREME4 GEN38GB Corsair DDR3 1600MHz CL8Gainward GTX570 GLHSSD Samsung 830 64GBCorsair CX600Centaurion2G500206BW
\_\_\_\_\_DrSpeed_/_/_/_/_/
Dr.Speed è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
Il rumore delle 69 turbine è inso...
Google accende il primo satellite con ch...
Azioni Intel, il peggior crollo degli ul...
Toyota bZ4X diventerà un robotaxi...
Sam Altman vuole tutta la RAM nei datace...
L’ex CEO di Intel Gelsinger punta su una...
Techly, quattro nuovi supporti TV fra mo...
Mass Effect sacrificato per Star Wars: i...
Gemini, addio al copia e incolla per cor...
13 miliardi per un colpo di stato? NVIDI...
L'agente AI Wabi crea mini-app su misura...
Edge è il primo browser a supportare Acc...
L'IA di Firefox ora compila i moduli da ...
Tracking pixel nelle email: cosa cambia ...
La GeForce RTX 5080 da 24 GB potrebbe ar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v