我已经读过不同的帖子在stackoverflow和C#文档,转换long
(或任何其他数据类型代表一个数字)到double
失去精度。由于浮点数的表示,这是非常明显的。精度损失转换为双倍有多大?
我的问题是,如果我将大数转换为double
,精度的损失有多大?我是否期望差异大于+/- X?
我想知道这个的原因是我必须处理连续的计数器,它是一个long
。我的应用程序将此值读取为string
,需要投射并且必须除以例如。 10或其他一些小号码,然后进一步处理。
decimal
会更适合这项任务吗?
好吧'decimal'当然可以将所有信息保存在'long'中......但它确实不清楚您的要求是。 –
@JonSkeet实际上没有,我知道如何用小数解决它,但问题或多或少地出于好奇。我需要多少精确的损失。 – John