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

    fmod e caso allucinante

    ho questo codice
    Codice PHP:
    $giorsucc=($ngiornata-$gior)*10;
    echo 
    "giorsucc: $giorsucc
    "
    ;
    $a=fmod($giorsucc,2);
    echo 
    "a: $a
    "

    la stampa che ho è:
    giorsucc: 7
    a: 0.99999999999999


    come è possibile??????
    se invece faccio
    Codice PHP:
    $giorsucc=7;
    echo 
    "giorsucc: $giorsucc
    "
    ;
    $a=fmod($giorsucc,2);
    echo 
    "a: $a
    "

    la stampa che ho è:
    giorsucc: 7
    a: 1

    come è possibile????

  2. #2

    Re: fmod e caso allucinante

    Originariamente inviato da niprova
    come è possibile????
    è possibile per tante ragioni legate all'fpu

  3. #3

    Re: Re: fmod e caso allucinante

    Originariamente inviato da bDaniele
    è possibile per tante ragioni legate all'fpu
    e cioé?
    come posso ovviare?

  4. #4
    con l'arrotondamento.
    purtroppo non ho molta competenza su come ovviare in php.
    l'argomento l'ho affrontato molto in dettaglio per applicazioni win32.

  5. #5
    dal momento che il modulo varia tra 0 e 1
    Codice PHP:
    $giorsucc=($ngiornata-$gior)*10;
    echo 
    "giorsucc: $giorsucc
    "
    ;
    $a=fmod($giorsucc,2);

    if((
    $a+0.5)>1){
    $a=1;

    cosa te ne pare?

  6. #6
    round:Arrotonda un numero non intero


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.