Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    [AS3] - somma tra Number che sbaglia la precisione

    Ciao a tutt*,
    una nuova chicca di ActionScript.

    Ho due variabile Number

    var a:Number = 1.1
    var b:Number = 2.2

    se sommo queste due variabili
    var c:Number = a + b

    Il risultato non è 3.3 come tutti noi vorremmo aspettarci ma è 3.30000000003

    Sapete consigliarmi un modo per avere un semplice 3.3 (non mi dite di arrotondare, immaginate che le precisioni dei due addendi siano diverse)

  2. #2
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Codice PHP:
    var a:Number 1.1
    var b:Number 2.2

    var c:Number b;
    trace(c.toFixed(1)); // 3.3 

  3. #3
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Sleter
    Codice PHP:
    var a:Number 1.1
    var b:Number 2.2

    var c:Number b;
    trace(c.toFixed(1)); // 3.3 
    Ciao di nuovo,
    no, non posso arrotondare, l'esempio che mi ha dato problemi è 1.1 + 2.2 ma la precisione di entrambi gli addendi può variare.

    Potrei trovarmi a sommare 1.1001223 e 2.2300022 non devo avere errore di somma.

  4. #4
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Non ci sono errori di somma e non si tratta di un arrotondamento della cifra.

    Nel parametro richiesto in toFixed(1) metti il numero di caratteri che vuoi visualizzare in un campo di testo dinamico (in cui normalmente è richiesta una stringa) ma la variabile Number non viene convertita in stringa e continua a essere utilizzabile come Number:

    Codice PHP:
    var a:Number 1.1001223
    var b:Number 2.2300022

    var c:Number b

    trace
    (c// 3.3301245
    trace(c.toFixed(7)) // 3.3301245 

    ciao

  5. #5
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Sleter
    Non ci sono errori di somma e non si tratta di un arrotondamento della cifra.

    Nel parametro richiesto in toFixed(1) metti il numero di caratteri che vuoi visualizzare in un campo di testo dinamico (in cui normalmente è richiesta una stringa) ma la variabile Number non viene convertita in stringa e continua a essere utilizzabile come Number:

    Codice PHP:
    var a:Number 1.1001223
    var b:Number 2.2300022

    var c:Number b

    trace
    (c// 3.3301245
    trace(c.toFixed(7)) // 3.3301245 

    ciao
    Ciao,
    grazie per le risposte. Proverò a parametrizzare il parametro del toFixed in modo da avere la precisione che di volta in volta mi serve.


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.