带指数符号的小数

时间:2015-10-13 20:46:20

标签: c# performance dictionary decimal exponential

我正在阅读包含+&的txt文件 - 可能包含指数表示法的小数:

6.636666E-08
0
-5.5
2.2

我需要订购小数,然后将它们写回不同的txt文件。

我正在使用decimal.Parse()将小数添加到字典中,然后我订购它们。 当我这样做时,我失去了指数的意义。

decimal.Parse()将6.636666E-08转换为:0.00000006636666

我需要按原样编写原始值(刚订购)。

如何有效地高效完成这项工作?

如何围绕指数表示法问题? 该文件可能包含数千行,is decimal.Parse()这是一种有效的方法吗?

谢谢

1 个答案:

答案 0 :(得分:3)

  

我需要订购小数,然后将它们写回不同的txt文件。

如果您需要保证所写的值完全一样,那么请将它们保存为字符串并按解析后的值排序:

var a = {read lines to string array}
var q = a.OrderBy(s => decimal.Parse(s));

foreach(string s in q)
    // write s

另外,如果需要订购值,请不要使用字典 - 字典在设计上是无序的。