我在stackoverflow和C#文档的不同帖子中阅读到,将long
(或任何其他表示数字的数据类型)转换为double
会丢失精度。这很明显是由于浮点数的表示。
我的问题是,如果我将一个较大的数字转换为double
,会丢失多少精度? 我是否需要预计差异大于+/- X?
我想知道这个原因是,我必须处理一个连续的计数器,该计数器是long
。 这个值被我的应用程序读取为string
,需要进行强制转换,然后必须除以例如10或其他一些小数,然后进一步处理。
对于这项任务,decimal
是否更合适?