+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Trasformare valori numerici da lettere a cifre

  1. #1
    dosso89 non  in linea Novello
    come faccio a trasformare un numero scritto in lettere in una text (dieci)... nel numero corrispondente facendolo comparire in un altra text?...

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da dosso89 Visualizza il messaggio
    come faccio a trasformare un numero scritto in lettere in una text (dieci)... nel numero corrispondente facendolo comparire in un altra text?...
    Ciao Dosso.

    Il Subject che hai usato troppo generico e non aiuta nessuno se volesse effettuare ricerche...!

    Prova a spiegare meglio magari con un esempio la tua richiesta fraintendibile.
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    dosso89 non  in linea Novello
    io voglio far inserire un numero scritto in lettere all'utente in una text...
    ad esempio (cinquanta)....

    poi attraverso un cmd voglio far comparire in un altra text il numero corrispondente a quello scritto dall'utente... ad esempio (50)...

    volevo chiedere se cera una funzione che permette questa trasformazione....

  4. #4
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da dosso89 Visualizza il messaggio
    io voglio far inserire un numero scritto in lettere all'utente in una text...
    ad esempio (cinquanta)....

    poi attraverso un cmd voglio far comparire in un altra text il numero corrispondente a quello scritto dall'utente... ad esempio (50)...

    volevo chiedere se cera una funzione che permette questa trasformazione....
    Sinceramente ho sempre visto fare il contrario vale a dire la conversione da NUMERO a LETTERE.... ritengo sia pi complesso il reversing ma pur sempre fattibile...

    Prova a partire da questo Demo :
    Sito Comune del newsgroup it.comp.lang.visual-basic
    ℹ️ Leggi di pi su @Alex ...

  5. #5
    AlbertoM non  in linea Scribacchino
    Ciao dosso99.
    Incuriosito dalla tua richiesta ho fatto questo programmino 'casareccio' senza l'uso di metodi o funzioni 'esterne'.
    In un Form inserisci Text1, Label1 e un pulsante con name = cmdEsegui.

    Nelle dichiarazioni generali:
    Dim unita(10) As String
    Dim decine(10) As String
    Dim primadecina(10) As String
    Dim numeri(1000) As String
    
    Dopo:
    Private Sub Form_Load()
    
      Dim a As Long
      Dim b As Long
      Dim tx As String
    
      unita(1) = "uno"
      unita(2) = "due"
      unita(3) = "tre"
      unita(4) = "quattro"
      unita(5) = "cinque"
      unita(6) = "sei"
      unita(7) = "sette"
      unita(8) = "otto"
      unita(9) = "nove"
      
      primadecina(1) = "undici"
      primadecina(2) = "dodici"
      primadecina(3) = "tredici"
      primadecina(4) = "quattordici"
      primadecina(5) = "quindici"
      primadecina(6) = "sedici"
      primadecina(7) = "diciassette"
      primadecina(8) = "diciotto"
      primadecina(9) = "diciannove"
      
      decine(1) = "dieci"
      decine(2) = "venti"
      decine(3) = "trenta"
      decine(4) = "quaranta"
      decine(5) = "cinquanta"
      decine(6) = "sessanta"
      decine(7) = "settanta"
      decine(8) = "ottanta"
      decine(9) = "novanta"
      
      For a = 1 To 9 'unit
        numeri(a) = unita(a)
      Next a
      numeri(10) = "dieci"
      For a = 11 To 19
        numeri(a) = primadecina(a - 10)
      Next a
      b = 10
      For a = 2 To 9 'decine
        If b = 10 Then numeri(a * 10) = decine(a)
          For b = 1 To 9
            tx = decine(a)
            If b = 1 Or b = 8 Then tx = Left(tx, Len(tx) - 1)
            numeri(a * 10 + b) = tx & unita(b)
          Next b
      Next a
      
      b = 100
      For a = 1 To 9 'centinaia
        tx = ""
        If a > 1 Then tx = unita(a)
        tx = tx & "cento"
        If b = 100 Then numeri(a * 100) = tx
        For b = 1 To 99
          numeri(a * 100 + b) = tx & numeri(b)
        Next b
      Next a
      
      Label1.Caption = ""
      Text1.Text = ""
    End Sub
    
    Private Sub cmdEsegui_Click()
    
      Dim a As Long
      Dim tx As String
          
      tx = Trim(Text1.Text)
      If tx = "" Then
        MsgBox ("Inserire un numero tra 1 e 999 in lettere")
        Text1.SetFocus
        Exit Sub
      End If
      
      For a = 1 To 999
        If Text1.Text = numeri(a) Then GoTo uscita
      Next a
      MsgBox ("Numero errato")
      Text1.SetFocus
      Exit Sub
      
    uscita:
      Label1.Caption = a
      Text1.SetFocus
    End Sub
    
    Copia, incolla e prova. (Prendilo come esempio, poi esister sicuramente di meglio )
    ℹ️ Leggi di pi su AlbertoM ...

  6. #6
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da AlbertoM Visualizza il messaggio
    Ciao dosso99.
    Incuriosito dalla tua richiesta ho fatto questo programmino 'casareccio' senza l'uso di metodi o funzioni 'esterne'.
    In un Form inserisci Text1, Label1 e un pulsante con name = cmdEsegui.

    Nelle dichiarazioni generali:
    Dim unita(10) As String
    Dim decine(10) As String
    Dim primadecina(10) As String
    Dim numeri(1000) As String
    
    Dopo:
    Private Sub Form_Load()
     
      Dim a As Long
      Dim b As Long
      Dim tx As String
     
      unita(1) = "uno"
      unita(2) = "due"
      unita(3) = "tre"
      unita(4) = "quattro"
      unita(5) = "cinque"
      unita(6) = "sei"
      unita(7) = "sette"
      unita(8) = "otto"
      unita(9) = "nove"
     
      primadecina(1) = "undici"
      primadecina(2) = "dodici"
      primadecina(3) = "tredici"
      primadecina(4) = "quattordici"
      primadecina(5) = "quindici"
      primadecina(6) = "sedici"
      primadecina(7) = "diciassette"
      primadecina(8) = "diciotto"
      primadecina(9) = "diciannove"
     
      decine(1) = "dieci"
      decine(2) = "venti"
      decine(3) = "trenta"
      decine(4) = "quaranta"
      decine(5) = "cinquanta"
      decine(6) = "sessanta"
      decine(7) = "settanta"
      decine(8) = "ottanta"
      decine(9) = "novanta"
     
      For a = 1 To 9 'unit
        numeri(a) = unita(a)
      Next a
      numeri(10) = "dieci"
      For a = 11 To 19
        numeri(a) = primadecina(a - 10)
      Next a
      b = 10
      For a = 2 To 9 'decine
        If b = 10 Then numeri(a * 10) = decine(a)
          For b = 1 To 9
            tx = decine(a)
            If b = 1 Or b = 8 Then tx = Left(tx, Len(tx) - 1)
            numeri(a * 10 + b) = tx & unita(b)
          Next b
      Next a
     
      b = 100
      For a = 1 To 9 'centinaia
        tx = ""
        If a > 1 Then tx = unita(a)
        tx = tx & "cento"
        If b = 100 Then numeri(a * 100) = tx
        For b = 1 To 99
          numeri(a * 100 + b) = tx & numeri(b)
        Next b
      Next a
     
      Label1.Caption = ""
      Text1.Text = ""
    End Sub
    
    Private Sub cmdEsegui_Click()
     
      Dim a As Long
      Dim tx As String
     
      tx = Trim(Text1.Text)
      If tx = "" Then
        MsgBox ("Inserire un numero tra 1 e 999 in lettere")
        Text1.SetFocus
        Exit Sub
      End If
     
      For a = 1 To 999
        If Text1.Text = numeri(a) Then GoTo uscita
      Next a
      MsgBox ("Numero errato")
      Text1.SetFocus
      Exit Sub
     
    uscita:
      Label1.Caption = a
      Text1.SetFocus
    End Sub
    
    Copia, incolla e prova. (Prendilo come esempio, poi esister sicuramente di meglio )

    Non voleva il contrario... da lettera a Numero...?
    Mi pareva...
    ℹ️ Leggi di pi su @Alex ...

  7. #7
    AlbertoM non  in linea Scribacchino
    Si Alex, in effetti nella TextBox si deve inserire un numero in lettere, da uno a 999 e premendo il CommandButton nella Label compare la cifra corrispondente.
    Non lo avevo specificato ma provando lo si vedeva.
    Ciao
    ℹ️ Leggi di pi su AlbertoM ...

  8. #8
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da AlbertoM Visualizza il messaggio
    Si Alex, in effetti nella TextBox si deve inserire un numero in lettere, da uno a 999 e premendo il CommandButton nella Label compare la cifra corrispondente.
    Non lo avevo specificato ma provando lo si vedeva.
    Ciao
    Non mi sono spiegato bene...!
    Leggendo quanto chiesto dall'OP lui vorrebbe inserire "CINQUANTA" ed ottenere "50"...

    Per solo una mia interpretazione.
    ℹ️ Leggi di pi su @Alex ...

  9. #9
    Correggo io il titolo questa volta ... mi raccomando dosso89 per la prossima ...
    ℹ️ Leggi di pi su AntonioG ...

  10. #10
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Non mi sono spiegato bene...!
    Leggendo quanto chiesto dall'OP lui vorrebbe inserire "CINQUANTA" ed ottenere "50"...
    ...e il codice di AlbertoM, fa propio questo...
    si basa sul fatto che vengono convertiti prima in lettere i numeri da 1 a 999 e inseriti in un Array.
    alla pressione del pulsante, il contenuto dell'Array viene confrontato con il contenuto del TextBox, facendo restituire l'indice dell'elemento corrispondente.

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Conversione cifre di un numero in lettere
    Da Roby1954 nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 21-12-2020, 08:15
  2. Articolo: [MsSQL]Convertire valori numerici in valori scritti
    Da bumm nel forum Microsoft SQL Server
    Risposte: 1
    Ultimo Post: 31-05-2016, 20:18
  3. Problemi di lettura valori numerici
    Da ZioRock nel forum Microsoft SQL Server
    Risposte: 0
    Ultimo Post: 18-09-2013, 15:19
  4. Conversione numero DA lettere A cifre
    Da John Hawk nel forum Visual Basic 6
    Risposte: 26
    Ultimo Post: 21-09-2012, 16:59
  5. Sostituire testo con valori numerici
    Da Jachie nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 26-03-2005, 11:59