//Test, um neue Rundungsfunktion gegen proprietäre zu testen. public static void RundungTest() { Random randObj = new Random(); while (true) { int zaehler = randObj.Next(-1000, 1000); int nenner = randObj.Next(-1000, 1000); if (nenner == 0) { nenner = 1; } Fraction bruch = new Fraction(zaehler, nenner); double istRundung = Runde(bruch.ToDouble(), 2); double sollRundung = TRunde(bruch.ToDouble(), 2); Console.Write(bruch.ToString() + " (" + bruch.ToDouble() + "): " + istRundung + " vs " + sollRundung + " –– "); //if (istRundung == sollRundung) if (Math.Round(istRundung, 10) == Math.Round(sollRundung, 10)) { Console.WriteLine("OK"); } else { Console.WriteLine("FAIL:"); Console.WriteLine("Ist: " + new Fraction(istRundung).ToString()); Console.WriteLine("Soll: " + new Fraction(sollRundung).ToString()); Console.WriteLine(""); } } }
public static Fraction Runden(Fraction zahl) { return Runde(zahl.ToDouble()); }