Mögliche Duplizieren Verwendung für:
C# Maths gives wrong results!Ungenaue Wert, während mit Doppel
ich den Code bin mit
for (double i = 0; i <= 3; i += 0.1)
{
Console.WriteLine(i);
}
Die Ergebnisliste
- 0,1
- 0,2
- 0,30000004
- 0,4
- 0,5
- 0,6
- 0,7
- 0,7999993
- 0,9
- . . .
Woher kommen diese ungenauen Werte?
Genaues Duplikat von Hunderten von Fragen. Das erste, was zu verstehen ist: Der Wert von 0,1 ist nicht genau * 0,1 ... –
[Was jeder Informatiker über Fließkomma-Arithmetik wissen sollte] (http://docs.oracle.com/cd/E19957-01/806 -3568/ncg_goldberg.html) – Oded
Sie erhalten eine Antwort in diesem Jon Skeet Artikel, aber einfach gesagt, ein Doppel ist von Natur aus ungenau. http://csharpindepth.com/Articles/General/FloatingPoint.aspx –