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