我注意到当我存储一个double值时,例如x=0.56657011973046234在sqlite数据库中,稍后检索它,我得到y=0.56657011973046201。根据sqlitespec和.NETspec(我最初都懒得去读:)这是意料之中的,也是正常的。我的问题是,虽然高精度并不重要,但我的应用处理用户输入/选择代表基本3D信息的double,然后对它们运行模拟以找到结果。并且此输入可以保存到sqlite数据库中,以便稍后重新加载和重新运行。之所以会产生混淆,是因为新创建的一系列输入在存储和重新加载后显然会以与那些相同输入略有不同的方式进行模拟(因为double值已更改)。这是
我注意到当我存储一个double值时,例如x=0.56657011973046234在sqlite数据库中,稍后检索它,我得到y=0.56657011973046201。根据sqlitespec和.NETspec(我最初都懒得去读:)这是意料之中的,也是正常的。我的问题是,虽然高精度并不重要,但我的应用处理用户输入/选择代表基本3D信息的double,然后对它们运行模拟以找到结果。并且此输入可以保存到sqlite数据库中,以便稍后重新加载和重新运行。之所以会产生混淆,是因为新创建的一系列输入在存储和重新加载后显然会以与那些相同输入略有不同的方式进行模拟(因为double值已更改)。这是