Можно даже проще -
alert(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)
получим 0.999...999;
А вот если проделать тоже самое в c#, то результат будет верный -
Response.Write(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1)
получим 1.
Из той статьи -
Цитата:
|
То есть, с математической точки зрения, операция сложения чисел с плавающей запятой не ассоциативна: (a + b) + c != a + (b + c).
|
+ округление формата.
Более менее ясно с математической стороны, но с логической стороны не могу принять сей факт, в школе учили, что 0.1+0.1=0.2, а не 0.3.