Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    fastner
    Guest

    somma con risultato incredibile

    ciao a tutti, sicuramente dovuta alla mia scarsa di conoscenza di php, questo codice:

    <?php

    $somma= "
    17.99

    17.99

    20.99

    9.99

    18.75

    18.75

    14.99

    5.49

    6.49

    14.99

    19.99

    10.49

    8.49

    9.99

    7.99

    15.99

    2.99

    2.99

    2.99

    2.99

    2.99

    0.80";

    $asd = explode("\n", $somma);

    $totale = 0.00;
    foreach ($asd as $numero) {
    if (trim($numero) != "" ) {
    echo $totale;
    echo " + ";
    echo trim($numero);
    echo " = ";
    $gigi = trim($numero);
    $totale = $gigi + $totale;
    echo $totale;
    echo "
    ";
    }
    }

    ?>

    mi produce questo output:

    0 + 17.99 = 17.989999999999998
    17.989999999999998 + 17.99 = 35.979999999999997
    35.979999999999997 + 20.99 = 56.969999999999999


    come fa a fare 0 + 17.99, 17.989999999999998???

    che cavolo di errore ho fatto per ottenere un risultato così assurdo?

  2. #2
    fastner
    Guest
    nooooooo speravo in qualche risposta,
    dove sbaglio amici? il codice mi sembra corretto

  3. #3
    Originariamente inviato da fastner
    nooooooo speravo in qualche risposta,
    dove sbaglio amici? il codice mi sembra corretto
    codice:
    0 + 17.99 = 17.99
    17.99 + 17.99 = 35.98
    35.98 + 20.99 = 56.97
    56.97 + 9.99 = 66.96
    66.96 + 18.75 = 85.71
    85.71 + 18.75 = 104.46
    104.46 + 14.99 = 119.45
    119.45 + 5.49 = 124.94
    124.94 + 6.49 = 131.43
    131.43 + 14.99 = 146.42
    146.42 + 19.99 = 166.41
    166.41 + 10.49 = 176.9
    176.9 + 8.49 = 185.39
    185.39 + 9.99 = 195.38
    195.38 + 7.99 = 203.37
    203.37 + 15.99 = 219.36
    219.36 + 2.99 = 222.35
    222.35 + 2.99 = 225.34
    225.34 + 2.99 = 228.33
    228.33 + 2.99 = 231.32
    231.32 + 2.99 = 234.31
    234.31 + 0.80 = 235.11


    Butta il tuo PC....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    fastner
    Guest
    Originariamente inviato da piero.mac




    Butta il tuo PC....
    dai, che può essere?
    un bug di php5?
    settaggi del php ini mal fatti (precisione dei float)?

    grazie 1000 in anticipo, bye

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    con php 5.0:
    codice:
    0 + 17.99 = 17.99
    17.99 + 17.99 = 35.98
    35.98 + 20.99 = 56.97
    56.97 + 9.99 = 66.96
    66.96 + 18.75 = 85.71
    85.71 + 18.75 = 104.46
    104.46 + 14.99 = 119.45
    119.45 + 5.49 = 124.94
    124.94 + 6.49 = 131.43
    131.43 + 14.99 = 146.42
    146.42 + 19.99 = 166.41
    166.41 + 10.49 = 176.9
    176.9 + 8.49 = 185.39
    185.39 + 9.99 = 195.38
    195.38 + 7.99 = 203.37
    203.37 + 15.99 = 219.36
    219.36 + 2.99 = 222.35
    222.35 + 2.99 = 225.34
    225.34 + 2.99 = 228.33
    228.33 + 2.99 = 231.32
    231.32 + 2.99 = 234.31
    234.31 + 0.80 = 235.11
    think simple think ringo

  6. #6
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568

    Re: somma con risultato incredibile

    Originariamente inviato da fastner
    che cavolo di errore ho fatto per ottenere un risultato così assurdo?
    Mica c'è da stupirsi tanto, dipende da come vengono salvati in formato binario i numeri decimali
    "Nei prossimi tre anni col mio governo vogliamo vincere anche il cancro, che colpisce ogni anno 250.000 italiani e riguarda quasi due milioni di nostri concittadini"

  7. #7
    fastner
    Guest

    Re: Re: somma con risultato incredibile

    Originariamente inviato da chris
    Mica c'è da stupirsi tanto, dipende da come vengono salvati in formato binario i numeri decimali
    e quindi ?

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.