Nav*_*K N 2 c# math double rounding
我在这里有一些奇怪的问题.我有一个数据库表,其中存储了巨大的值.我的应用程序(C#)正在读取此值并保持双精度类型.此应用程序将相同的值插入另一个表.注意:我没有对从第一个表读取的值进行任何计算/处理.它只是用于更新第二个表.
这里的问题是,第二个表的值与第一个表的值略有不同.当我保持双重类型时,看起来数字正在四舍五入.
这是一个值的例子.
原始值:18014398509481984
复制到新表的值:18014398509482000
值看起来不同,但两者在现实中都是相同的.我用18014398509481984 - 18014398509482000作为搜索词进行了谷歌搜索,它返回结果0,这意味着两者都是相同的.
问题:
1 - 如果两者相同,为什么第二个值看起来不同?我可以看到1984年变成了2000年.
2 - 为什么要进行转换?
3 - 如何避免此类转换?
任何帮助都会很棒!