Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [delphi]: conversione di tipi

    ciao a tutti,

    come inserisco in un campo di tipo valuta il contenuto di un edit.text del
    tipo € 2.00??
    mi da sempre errore di conversione sia se uso strtocurr sia strtofloat. Come
    posso risolverlo??

    ciao
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    E' necessario utilizzare il giusto separatore decimale per fare in modo che la StrToFloat riesca a convertire il valore correttamente.

    Il separatore decimale può essere impostato nel Pannello di Controllo di Windows e viene memorizzato in una variabile, DecimalSeparator, normalmente accessibile nell'applicazione, poichè dichiarata nella unit SysUtils.

    Puoi anche intercettare la pressione dei tasti tramite uno degli eventi disponibili nel TEdit e sostituire automaticamente i punti (.) e le virgole (,) con il separatore decimale correntemente attivo.

    codice:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key in [',', '.'] then
        Key := DecimalSeparator;
    end;
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Se è presente il simbolo dell' euro il cast del valore non avverrà mai, dovresti crearti una tua funzione che elimina il simbolo dell'euro e poi casta il valore stringa nel formato real o quello che ti serve.
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  4. #4
    Originariamente inviato da Genius7115
    Se è presente il simbolo dell' euro il cast del valore non avverrà mai, dovresti crearti una tua funzione che elimina il simbolo dell'euro e poi casta il valore stringa nel formato real o quello che ti serve.
    in effetti credo che il problema derivi proprio dal simbolo dell'euro...come faccio ad eliminarlo???

    ciao!

    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  5. #5
    up
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

  6. #6
    Non stò a scriverti la funzione ma è come se lo facessi. Devi fare una funzione che parserizzi la stringa con un ciclo for e se trova il simbolo dell'euro e altri simboli che non sono matematici li elimini.
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.