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

Discussione: cifre decimali esatte

  1. #1
    CESABAS non è in linea Scribacchino
    Post
    682

    cifre decimali esatte

    Buongiorno.
    Ho una semplice tabella con dei dati in cifre.
    Vorrei stampare su un file txt questi valori con esattamente 8 cifre decimali.
    Quindi ad esempio se il numero fosse 1 dovrebbe riportare 1,00000000 mentre se fosse 8,123456789 dovrebbe riportare 8,12345679

    Avevo pensato di arrotondare con round(num, 8), contare le cifre dopo la virgola ed aggiungere tanti zeri quanti mancano per arrivare ad 8.
    Non so se c'è una strada migliore.
    Grazie

  2. #2
    Sgrubak non è in linea Scolaretto
    Luogo
    Torrazza Piemonte
    Post
    237
    Hai provato la funzione Format? Se imposti correttamente l'argomento [formato] dovresti ottenere quel che cerchi.

  3. #3
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    15,909
    Non c'è strada migliore... ma fai attenzione al modo in cui Arrotondi....

    E' risaputo infatti che sia la Funzione Round che Format applicano un arrotondamento NON sempre coerente, o meglio ha una sua coerenza discutibile:
    [code]?Round(2.55,1) ----> 2,6 (per eccesso)
    ?Round(2.5,0) ----> 2 (per difetto)
    [code]
    In contabilità questo è ovviamente errato...

    Puoi in effetti usare Format, ma fai sempre attenzione alla CERTEZZA del FieldType... nel senso che se non sei certo che il Tipo di dato sia Decimal, solita questione della Virgola Mobile, potresti avere arrotondamenti NON ATTESI
    codice:
    Format(TuoNumero,"0.00000000")
    Quì trovi una descrizione del Tema:
    https://www.experts-exchange.com/que...-function.html

    Io userei questa Funzione di Karl accoppiata a Format.
    FAQIndex

    Fai attenzione ad un ulteriore problema, che la Funzione Format, modifica o può modificare il separatore decimale... in base alle impostazioni internazionali.
    Ad esempio se in VBA hai il punto come separatore, dopo l'applicazione della funzione Format avrai la Virgola... ed il Numero ovviamente non è un Numero ma una stringa.
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

+ Rispondi al Thread

Permessi di invio

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