Visualizzazione dei risultati da 1 a 9 su 9

Discussione: sottrazione maledetta

  1. #1

    sottrazione maledetta

    non so se è mai capitato a qualcuno ma con questo script

    differenza=lordo_r_new-lordo_r

    dove sia lordo_r_new che lordo_r sono valori numerici a precisione doppia ponendo che il risultato è 9,56 (caso particolare che però si è verificato spesso nella mia applicazione)

    response.write differenza
    mi può dare indiscriminatamente

    9,55999999999999
    9,56000000000001
    9,56000000000002
    9,56000000000003



    oppure
    9,56

    nel caso specifico in cui lo sto utilizzando non è un bug particolarmente importante ma dico io...ma perchè??? XD

    mi pare di aver letto da qualche parte che c'è una specie di trick nn ricordo se stesso in asp o JS che mi permette di aggiustare il valore ma nn lo trovo + qualcuno che ha avuto lo stesso problema come l'ha risolto

    grazie =D
    ...Ignorance is bliss...

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ma tu cosa vorresti ottenere?

    Roby

  3. #3
    beh...che la sottrazione funzionasse XD

    cioè che se il risultato oggettivo è 9,56 allora vorrei che nel momento in cui memorizzo il risultato ottenuto dall'operazione in una variabile esso non sia diverso dal risultato oggettivo.

    credo che la prima frase sia + chiara :master:
    ...Ignorance is bliss...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Arrotonda a due cifre il risultato...

    Roby

  5. #5
    arrotondare a due cifre equivale a sbagliare il risultato nel caso 9,55999999999999

    e come ho già detto il risultato è imprevedibile XD

    continuo tuttavia a non capire perchè asp sbaglia la sottrazione, non c'è nessuno che lo sappia? almeno si trova una soluzione e non un palliativo!

    grazie cmq
    ...Ignorance is bliss...

  6. #6
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    la formatnumber(differenza,2) ti da un risultato sbagliato?

    Roby

  7. #7
    funziona!!! grazie, ottima toppa!

    continuo a chiedermi tuttavia perchè asp sbaglia le sottrazioni...vabbè non importa =D
    ...Ignorance is bliss...

  8. #8
    il BASIC (da cui deriva anche ASP) ha SEMPRE avuto questo problema con le sottrazioni tra double, e ti parlo di almeno 25 anni fa.

    vedi se puoi usare formati diversi dal doube

  9. #9
    vabbè per fortuna il formatnumber è una bella pezza su questo buco ultraventennale, per ora mi basta sapere che è sempre stato così =D

    grazie ancora
    ...Ignorance is bliss...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.