allora, Python 2.5 (che sotto sotto è C) da console (per fare na prova rapida)
1.0 == 1 #True
.1 + .1 == .2 #True
.2 #0.200000000000001
.1 + .1 + .1 + .1 + .1 + .1 + .1 + .1 + .1 + .1 == 1.0 # False
ma
.1 * 10 == 1.0 #True
e
.1 + .1 + .1 + .1 + .1 + .1 + .1 == .7 # True
quindi da una parte pensavo erroneamente che C# facesse correzioni in automatico (più che C# la VM sotto), dall'altra aggiungere un float statico per N volte non ha senso quindi non mi sono mai interessato troppo al comportamento
il fatto è che i problemi in virgola mobile li conosco ma i problemi in vorgola mobile con linguaggi interpretati non li capisco, partendo da JavaScript, continuando con Python, arrivando a C# che ha una VM sotto ... buono a sapersi, motivo in più per continuare ad usare le funzioni apposite come toFixed e toPrecision![]()