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