+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 4 su 4

Discussione: punto come separatore decimale e senza separatore migliaia

  1. #1
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    87

    punto come separatore decimale e senza separatore migliaia

    buongiorno,
    so che può sembrare una sciocchezza ma non riesco a trasformare
    la virgola che separa i decimali in punto !
    il codice che utilizzo è il seguente:

    codice:
    PrTotXMLnode.text := FORMAT('%*.*m', [10,2,ADOFattureCorpoIMPORTO.Value]);
    ed il risultato ottenuto è '1.554,00'

    ma a me serve '1554.00'
    sapevo che bastasse mettere *,* al posto di *.* ma non funziona, solleva una eccezione...

  2. #2
    L'avatar di _alka_
    _alka_ non è in linea Very Important Person
    Luogo
    Reggio Emilia
    Post
    1,133
    Devi specificare anche il parametro che accetta un record di tipo FormatSettings, che puoi creare indicando la "cultura" che ti serve, oppure modificare da codice per impostare il separatore dei decimali e delle migliaia a tuo piacimento.

    Vedi la documentazione su TFormatSettings.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Homepage | Blog | Delphi Podcast | Delphi Succinctly (e-book)

  3. #3
    L'avatar di systemgvp
    systemgvp non è in linea Scribacchino
    Post
    582
    FormatSettings.DecimalSeparator := '.';

    stringa:=FormatFloat('0.00', costi); //1234567,00
    stringa:=FormatFloat(',0.0', costi); //1.234.567,0
    Embarcadero RAD Studio 10.2.3 Tokyo - con Pascal dal 1992

  4. #4
    Monti non è in linea Scolaretto
    Luogo
    Lecce
    Post
    87

    fattura elettronica

    grazie per le indicazioni,
    lavorandoci un po e guardando con attenzione la documentazione su TformatSettings
    dovrebbe essere così
    codice:
    procedure TGestPratSForm.EinvoiceBuilder(Sender: TObject);
    var
       fs: TFormatSettings;
       i: Integer;
    begin
       ......
    
       fs.ThousandSeparator:= ' ';
       fs.DecimalSeparator:= '.';
    
       ......
    
       XMLDoc.FatturaElettronicaHeader.CedentePrestatore.IscrizioneREA.CapitaleSociale :=  Trim(Format('%*.*f', [10,2,AnagAzCAPISOC.Value], FS));
    
       .....
    end;
    e il risultato è 50000.00

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi