Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di OYS
    Registrato dal
    Apr 2006
    Messaggi
    3,142

    [C/C++] tipo da assegnare a una variabile

    Ho un problema con l'assegnamento del tipo a una variabile.
    Ho scelto float, poi mi sono accorto che mi serviva una precisione migliore, quindi ho scelto long double.
    Stampando i risultati nei due tipi ho ottenuto valori completamente diversi della variabile, nel prima caso 0,010617, nel secondo 1081751244.
    Passando dall'uno all'altro, i valori non dovrebbe essere uguali e cambiare solo il numero di cifre dopo la virgola?

    Per stampare un long double è corretto il comando %d?


    grazie per l'aiuto,

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Prova a postare anche un po' di codice (magari prima e dopo la modifica).
    Così, senza nulla sotto mano, è difficile cercare di capire se e dove ci sono degli errori.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di OYS
    Registrato dal
    Apr 2006
    Messaggi
    3,142
    Che stupido che sono, ho capito l'errore:

    il comando %d è per i decimali, quello giusto è %f.

    Grazie


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C/C++] tipo da assegnare a una variabile

    Originariamente inviato da OYS
    Per stampare un long double è corretto il comando %d?
    No ... e neanche per un float ...

  5. #5
    mmm.. forse devi usare %f..
    almeno.. per i double e float si usa %f.. %d è per i numeri interi, da quello che mi ricordo!

  6. #6
    Utente di HTML.it L'avatar di OYS
    Registrato dal
    Apr 2006
    Messaggi
    3,142
    Si, grazie ho risolto è %f.

  7. #7

    Per la cronaca

    Originariamente inviato da OYS
    il comando %d è per i decimali, quello giusto è %f.
    Non sono comandi, ma specifiche di conversione.
    Inoltre %d è per gli "interi decimali".
    Per i long double è %Lf.

    Cià
    Ci sono 10 tipi di persone al mondo, chi conosce il sistema binario e chi no.

  8. #8
    Utente di HTML.it L'avatar di OYS
    Registrato dal
    Apr 2006
    Messaggi
    3,142

    Re: Per la cronaca

    Originariamente inviato da bigmickey
    Non sono comandi, ma specifiche di conversione.
    Inoltre %d è per gli "interi decimali".
    Per i long double è %Lf.

    Cià
    Thanks

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.