Wir haben WPF-basierte Anwendung mit Prism Framework. Wir haben IronPython eingebettet und verwenden das Python Unit Test-Framework, um unsere Anwendungs-GUI-Tests zu automatisieren.IronPython/C# Float Datenvergleich
Es funktioniert sehr gut. Wir haben Schwierigkeiten, zwei Gleitkommazahlen zu vergleichen.
Beispiel C#
class MyClass
{
public object Value { get; set;}
public MyClass()
{
Value = (float) 12.345;
}
}
In Ironpython, wenn ich die MyClass Instanz Value-Eigenschaft mit Python Float-Wert (12.345) vergleichen zu können, sagt er es nicht gleich
Aussage stellt sich Python tut Fehler geltend machen
self.assertEqual(myClassInstance.Value, 12.345)
Diese Python Anweisung funktioniert gut.
self.assertEqual(float(myClassInstance.Value.ToString()), 12.345)
Wenn ich die Art des Typs (myClassInstance.Value) überprüfen, gibt es Einzel in Python, wo als Typ (12.345) Erträge schweben. Wie man mit dem C# Floaten zum Python-Vergleich ohne explizite Konvertierungen umgehen kann?
müssen Sie Recht haben. float könnte in boxed sein und jetzt ist der Vergleich zwischen dem C# -Objekt und dem Python-Float. Trotzdem habe ich keine Antwort auf meine Frage. Jede Empfehlung wäre großartig. –