È possibile ottenere un valore "esatto"? - pagina 5 1234567 Nuovo commento Andrey F. Zelinsky 2014.10.04 11:38 #41 WePlexus: Sì, e la calcolatrice dice 0,09*5=0,45. :)ha solo bisogno di essere normalizzato://double d=0.019999999999999999; double d=NormalizeDouble(0.09*5,2); double e=(int)(d*100)/100.0; Print("e=",e); Alexandr Bryzgalov 2014.10.04 12:11 #42 abolk: Beh, Sanyok, sei un bugiardo.La mia funzione:=0.44. Non ho controllato il tuo). Alexandr Bryzgalov 2014.10.04 12:12 #43 abolk: La normalizzazione deve solo essere fatta:anche un'opzione )))e che cos'è questo numero? )))0.01999999999999999999 Andrey F. Zelinsky 2014.10.04 12:22 #44 sanyooooook: anche un'opzione )))e che cos'è questo numero? )))questo è il numero massimo con cui funziona la normalizzazione:double d=NormalizeDouble(0.01999999,18); double e=(int)(d*100)/100.0; Print("e=",e); se si prende un altro 9, è normalizzato a 0,02. Alexandr Bryzgalov 2014.10.04 12:23 #45 abolk: è il numero massimo con cui avviene la normalizzazione: Se prendi un altro 9, si normalizzerà a 0,02. non tagliarlo). Andrey F. Zelinsky 2014.10.04 12:24 #46 sanyooooook: non troncare il numero). qualunque -- Il formato di precisione di NormalizeDouble() è 0-8 Alexandr Bryzgalov 2014.10.04 12:44 #47 abolk: quindi di lato -- il formato della precisione in NormalizeDouble() -- 0-8 quindi è già di traverso)) Andrey F. Zelinsky 2014.10.04 12:46 #48 sanyooooook: quindi è così, è tutto uguale))stiamo già arrivando al "cuore del problema" - ecco perché "già"prima la decomposizione del problema - poi la composizione del problemao ci sono ancora delle questioni in sospeso? Alexandr Bryzgalov 2014.10.04 12:57 #49 abolk: stiamo già arrivando al "cuore del problema" - ecco perché "già"prima la decomposizione del problema - poi la composizione del problemao ci sono ancora dei punti inspiegabili?sì )come usare la stessa funzione (diciamo, quella che avete scritto voi) per troncare qualsiasi numero in ingresso al giusto numero di cifre:anche se è questo:0.01999999999999999999o questo:0.09*5 Andrey F. Zelinsky 2014.10.04 13:02 #50 sanyooooook: sì )come troncare qualsiasi numero in ingresso al giusto numero di cifre usando la stessa funzione:anche se è questo:o questo:Per risolvere questo problema, 0,09*5 deve essere =0,45, non =0,44999999999999999e se non esiste una cosa del genere, allora il problema è irrisolvibile 1234567 Nuovo commento
Sì, e la calcolatrice dice 0,09*5=0,45. :)
ha solo bisogno di essere normalizzato:
Beh, Sanyok, sei un bugiardo.
La mia funzione:
=0.44.La normalizzazione deve solo essere fatta:
anche un'opzione )))
e che cos'è questo numero? )))
0.01999999999999999999anche un'opzione )))
e che cos'è questo numero? )))
questo è il numero massimo con cui funziona la normalizzazione:
se si prende un altro 9, è normalizzato a 0,02.
è il numero massimo con cui avviene la normalizzazione:
Se prendi un altro 9, si normalizzerà a 0,02.non troncare il numero).
quindi di lato -- il formato della precisione in NormalizeDouble() -- 0-8
quindi è così, è tutto uguale))
stiamo già arrivando al "cuore del problema" - ecco perché "già"
prima la decomposizione del problema - poi la composizione del problema
o ci sono ancora delle questioni in sospeso?
stiamo già arrivando al "cuore del problema" - ecco perché "già"
prima la decomposizione del problema - poi la composizione del problema
o ci sono ancora dei punti inspiegabili?
sì )
come usare la stessa funzione (diciamo, quella che avete scritto voi) per troncare qualsiasi numero in ingresso al giusto numero di cifre:
anche se è questo:
0.01999999999999999999o questo:
sì )
come troncare qualsiasi numero in ingresso al giusto numero di cifre usando la stessa funzione:
anche se è questo:
o questo:
Per risolvere questo problema, 0,09*5 deve essere =0,45, non =0,44999999999999999
e se non esiste una cosa del genere, allora il problema è irrisolvibile