ブリッツマックスで少し問題があります。INI ファイルを読み取ろうとしましたが、float を読み取ると、非常に奇妙な方法で変換されます。関連するファイルの行は、たとえば次のようになります。
_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 と等しくありません。反射を使用しない場合は正常に動作するため、この動作を説明することはできません。
誰か助けてくれませんか?