Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560

    Algoritmo per convertire una cifra in parole?

    Qaulcuno di voi sa dove trovare un algoritmo o meglio una funzione già fatta per convertire una cifra in parole, come si fa sugli assegni bancari (1234,33 = milleduecentotrentaquattro/33)?

    Mi sarebbe molto utile anche qualche consiglio su come crearla...

    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    beh, intanto escludi la parte decimale che tanto rimane numerica

    poi potresti lavorare sulla lunghezza della parte intera e distinguere migliaia|centinaia|decine|unità e vedere di scrivere qualcosa che interpreti i numeri

  3. #3
    Un pò di tempo fa trovai questa funzione, poi non l'ho più usata, fammi sapere come va:
    codice:
    Function Lettere(wknumero, Optional Tipo As Variant) As String
        'Nota il se Tipo è 1=maiuscolo, se 2=minuscolo
        'se 3=capitalizzato
        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
        If Tipo = 1 Then Lettere = StrConv(WkStringa, vbUpperCase)
        If Tipo = 2 Then Lettere = StrConv(WkStringa, vbLowerCase)
        If Tipo = 3 Then Lettere = StrConv(WkStringa, vbProperCase)
    End Function

  4. #4
    Utente di HTML.it L'avatar di ghini76
    Registrato dal
    Jun 2003
    Messaggi
    560
    Per codo82

    Un pò di tempo fa trovai questa funzione, poi non l'ho più usata, fammi sapere come va:
    Grazie ma manca una funzione!
    Ho trovato anche io qualcosa su Internet, la sto modificando per adeguarla all'euro e poi la posto...

    ciao e grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.