Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    9

    [c]acquisizione valori in formato scientifico da file

    Salve, ho bisogno di acquisire da un file dei valori così fatti:

    1.035907141864e-008 2.503096342087e+000 2.498013496399e+000
    1.107721425593e-008 2.503096342087e+000 2.498013496399e+000
    1.251349993050e-008 2.503096342087e+000 2.498013496399e+000
    1.538607127964e-008 2.503096342087e+000 2.498013257980e+000

    come faccio a far riconoscere al c tali valori?
    non so se sono visti come stringa oppure come numero (float o altro).
    in ogno caso è possibile convertirli in float o double mantenendo quello stesso
    numero di cifre? mi dareste dei suggerimenti su come fare?
    un altra cosa
    per far stampare un valore usando quella norazione occorre usare qualche funzione ?
    grazie

  2. #2
    La scanf con formato "%le" dovrebbe accettarli, caricandoli in variabili double.
    Analogamente per scriverli userai la printf con formato "%e" (probabilmente leggermente modificato per visualizzare tutte quelle cifre decimali, dai un'occhiata alla documentazione di printf per vedere come fare).
    ---EDIT---
    Per scriverli, la stringa di formato dovrebbe essere "%.12e"; purtroppo non c'è modo con la sola printf di dirgli di usare tre cifre per l'esponente, ne vengono usate solo due.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.