【发布时间】:2017-11-16 14:15:14
【问题描述】:
当我将这些数据加载到我的双变量中时,我有很多科学记数法数据,一切正常(在 VS 中,我看到值 0.00000000022)。但是当我将此数字乘以 1000000 时,我得到了未舍入的值(0.00021999999999999998)。
我必须乘以这个值,因为我将它用于选择过滤器。从选择过滤器发送数据后,我再次将此数据划分为我的原始格式 0.00021999999999999998 / 1000000 = 0.00000000022。
2.20E-10 = 0.00000000022 * 1000000 = 0.00021999999999999998
预期值是这样的:
0.00021999999999999998 => 0.00022
当我使用类似的数字时,例如,2.70E-10 在多个值 0.00027 之后得到(在这种情况下转换工作正常)。
转换值仅用于选择菜单,因此不会显示不必要的零,并且标签会指示它们代表的单位。 (对于这个例子,选择框中从 Ohm 到 microOhm)
有什么方法可以正确转换这些值吗?
我使用 LINQ 将这些值转换成这样:
var x = y.Select(s => s.Resistance * 1000000).Distinct();
【问题讨论】:
-
不会将 s.Resistance * 1000000 转换为 System.Decimal 并应用 Round(请参阅 link 解决问题?
标签: c# linq razor number-formatting