我在 Blitzmax 中有一个小问题。我尝试读取一个 INI 文件,如果我读取浮点数,它们会以一种非常奇怪的方式进行转换。文件中相关的行如下所示:
_fStrength=40.6
这个的输出看起来像这样:
DebugLog:_fStrength: 40.5999985
我用来阅读的代码与反射一起工作,看起来像这样:
For Local fld:TField = EachIn id.EnumFields()
fld.Set(obj, SearchInFile("TempWeapon" + index, fld.Name(), "Weapons.ini"))
DebugLog(fld.Name() + ": " + String(fld.Get(obj)))
Next
我发现,只有在“。”之后的数字才会发生这种情况。不等于 5 或 0。我无法解释这种行为,因为如果我不使用反射,它可以正常工作。
有人可以帮我吗?