我们有使用 Prism 框架的基于 WPF 的应用程序。我们嵌入了 IronPython 并使用 Python 单元测试框架来自动化我们的应用程序 GUI 测试。
效果非常好。我们在比较两个 float 时遇到困难。
示例C#
class MyClass
{
public object Value { get; set;}
public MyClass()
{
Value = (float) 12.345;
}
}
在 IronPython 中,当我将 MyClass 实例的 Value 属性与 python 浮点值(12.345)进行比较时,它说它不等于
此Python语句引发断言错误
self.assertEqual(myClassInstance.Value, 12.345)
这个Python语句工作正常。
self.assertEqual(float(myClassInstance.Value.ToString()), 12.345)
当我检查 type(myClassInstance.Value) 的类型时,它在 Python 中返回 Single,而 type(12.345) 返回 float。如何在不进行显式转换的情况下处理 C# float 与 Python 的比较?
最佳答案
C# 中的
12.345
是 double ,除非您显式使用 12.345f
关于c# - IronPython/C# float 据比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4560066/