Originariamente inviato da andr3a
non ho testato niente ma so per certo che in C#

1.0 == 1

è assolutamente true

il punto del 3D è che a lui stampa troppe cifre dopo la virgola, che è il motivo per cui tutti hanno detto da sempre che la matematica in JavaScript è rotta e gli stessi sviluppatori hanno previsto di correggerla nella 2.0

In C# se fai + 0.1 per 10 volte e fai un Console.WriteLine ti da 1, non 0.988898887723 ... fin qui, almeno, spero che siamo d'accordo .. per il resto non ho tempo di testare ma lo farò, soprattutto un confronto di .1 * 10 == 1.0 ... se mi da false, la matematica in C# è rotta, del resto è ECMA pure lui
se sommi 0.1 per 10 volte, viene stampato 1 ma quello è un arrotondamento perchè quella somma non si può fare in maniera precisa con i numeri a virgola mobile
codice:
        double n = 0;
        for (int i = 1; i <= 10; i++) n += 0.1;
        Response.Write(n.ToString() + "
"); // stampa 1
        Response.Write((n == 1).ToString() + "
"); // stampa false
        Response.Write((Math.Abs(n - 1)).ToString() + "
"); // stampa 1,11022302462516E-16
infatti la differenza tra 1 e n è circa 1e-16

ti rimando ai link wikipedia più sopra