Guten Abend,
ich meine einen Math.Round Bug reproduziert zu haben:
Unter .NET Framework 4.6,
Resultat: 6!
Resultat: 14!
Woran mag das liegen?
Update: Es sind (eventualiter) alle Zahlen die mit einer 6 enden (6.5, 16.5, 26.5!)
Fix:
Verschoben. ~Trade
ich meine einen Math.Round Bug reproduziert zu haben:
Unter .NET Framework 4.6,
Resultat: 6!
Resultat: 14!
Woran mag das liegen?
Update: Es sind (eventualiter) alle Zahlen die mit einer 6 enden (6.5, 16.5, 26.5!)
Fix:
C#-Quellcode
- public static float Round(float a, int n)
- {
- return (float)(((int)((((a + (((a * Math.Pow(10, n + 1)) % 10) / Math.Pow(10, n + 2))) * Math.Pow(10, n + 1)) % 10) / 5) / Math.Pow(10, n)) + ((a + (((a * Math.Pow(10, n + 1)) % 10) / Math.Pow(10, n + 2))) - (((a + (((a * Math.Pow(10, n + 1)) % 10) / Math.Pow(10, n + 2))) * Math.Pow(10, n + 1)) % 10) / Math.Pow(10, n + 1)));
- }
Verschoben. ~Trade
Und Gott alleine weiß alles am allerbesten und besser.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()