从科学计数法到十进制计数法的数值

Number value from Science Notation to Decimal Notation

当我将这些数据加载到我的双变量中时,我有很多科学记数法的数据,一切正常(在 VS 中我看到值 0.00000000022)。但是当我将这个数字乘以 1000000 时,我得到了未舍入的值 (0.00021999999999999998)。

我必须乘以这个值,因为我将它用于 select离子过滤器。从 select 离子过滤器发送数据后,我再次将此数据划分为我的原始格式 0.00021999999999999998 / 1000000 = 0.00000000022.

2.20E-10 = 0.00000000022 * 1000000 = 0.00021999999999999998

期望值是这样的:

0.00021999999999999998 => 0.00022

当我使用类似的数字时,例如 2.70E-10,我得到了多个值 0.00027(在这种情况下转换工作正常)。

转换值仅供在 selection 菜单中使用,因此不会显示不必要的零,并且标签会指示它们代表的单位。 (对于此示例,在 select 框中从欧姆到微欧姆)

有什么方法可以正确转换这些值吗?

我使用 LINQ 像这样转换这些值:

var x = y.Select(s => s.Resistance * 1000000).Distinct();

问题是浮点数,一篇关于此的好文章是 link

使用小数类型而不是双精度类型来快速求解:)