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

    Problema:come comparo due valori double?

    ovviamente non va con i simboli di < o >

    grazie.

  2. #2
    Come per il C++, anche il C accetta il confronto tra double.

    Perchè non dovrebbe andare?
    Funziona benissimo con gli operatori < e >.

    Esempio:
    codice:
    #include <stdio.h>
    
    int main() {
        double a, b;
        a = 3,55;
        b = 4,23;
        if (a<b)
           printf ("Minore\n\n");
        system("pause");
    } /* main */

  3. #3
    Originariamente inviato da devil89
    Come per il C++, anche il C accetta il confronto tra double.

    Perchè non dovrebbe andare?
    Funziona benissimo con gli operatori < e >.

    Esempio:
    codice:
    #include <stdio.h>
    
    int main() {
        double a, b;
        a = 3,55;
        b = 4,23;
        if (a<b)
           printf ("Minore\n\n");
        system("pause");
    } /* main */
    #include <math.h>
    #include <stdio.h>

    int main(){
    double x=0.1723542,y=0.1723541;
    printf("%lf",(x<y)?(x)y));
    getch();
    return 0;
    }

    mi da come aoutput 0.172354

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

    printf("%0.7f", (x<y) ? (x) : (y));

  5. #5
    Originariamente inviato da oregon
    Indica la precisione

    printf("%0.7f", (x<y) ? (x) : (y));
    #include <stdio.h>

    int main() {
    double a, b;
    a = 3,455555553;
    b = 3,555555552;
    if (a<b)
    printf ("Minore\n\n");
    system("pause");
    } /* main */


    non stampa minore

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Devi scrivere correttamente i valori numerici reali. In C/C++ la virgola e' il punto

    Originariamente inviato da ascatem2
    #include <stdio.h>

    int main() {
    double a, b;
    a = 3. 455555553;
    b = 3. 555555552;
    if (a<b)
    printf ("Minore\n\n");
    system("pause");
    } /* main */
    Ovviamente, a un certo punto, hai un limite determinato dalla "precisione" massima del double (15 cifre) ... ma questo non e' un problema ...

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.