.net mono中的浮点不一致性

.net mono中的浮点不一致性,.net,unity3d,mono,monodevelop,.net,Unity3d,Mono,Monodevelop,我在.NET即时窗口中编辑了以下内容: 30f + 0.5f 并按预期获得30.5分。在单声道中,我得到的是30。原因是什么 详情: .NET:VisualStudio2010SP1 mono:Unity3D 3.5.6f4配备MonoDevelop 2.8.2 将MonoDevelop升级到3.0.5+1,29f+1.5f为31;-)你能发布一些代码来显示这一点吗?Unity中的Mono对我来说可以很好地进行这些添加。您是否将结果存储为整数?不幸的是,我一直使用Unity3D附带的版本。也

我在.NET即时窗口中编辑了以下内容:

30f + 0.5f
并按预期获得30.5分。在单声道中,我得到的是30。原因是什么

详情:

  • .NET:VisualStudio2010SP1
  • mono:Unity3D 3.5.6f4配备MonoDevelop 2.8.2

将MonoDevelop升级到3.0.5

+1,29f+1.5f为31;-)你能发布一些代码来显示这一点吗?Unity中的Mono对我来说可以很好地进行这些添加。您是否将结果存储为整数?不幸的是,我一直使用Unity3D附带的版本。也许Unity3D的下一个版本附带了Mono的更新版本,但与此同时,我需要对这个bug使用一个解决方法…没有解决方法。。。发生的情况是,求值器将所有基本类型(字符串除外)强制转换为一个长的加/减/乘/除/等,然后再强制转换回实际类型。很明显,编写原始代码的人忽略了double和float,因此我添加了对3.0中的double和float的支持