在C#中,将没有小数点的字符串解析为十进制数

时间:2010-11-26 04:24:11

标签: parsing number-formatting

我想知道惯用/内置/最快的方法是什么:我将数字作为一串字符,它们看起来像:

0012345

001234p

以字母结尾的字符串表示负值。比例可单独提供。

根据比例信息,第一个可能是我们通常写的1234.5,.0012345,12,345.00等。第二个是-12,340或-1,234.0 ......或-.001234。 “p”为0,“q”为1&等等。

我的第一个念头是行人,我妈妈会做什么串起跳和Decimal.Parse。

我必须在启动交互式应用程序时解析成千上万的这样的数字 - 所以,如果有更快的方法,那就太好了。 (虽然我还不知道性能是一个问题)我认为理论上必须通过编写一个不同的十进制解析来更快地实现它,该解析将数字识别为数字的替代。在实践中,负数只是我将看到的数字的一小部分,但更快更好。

谢谢,

1 个答案:

答案 0 :(得分:1)

在您知道性能存在问题之前,请以最简单的方式对此进行编码。不值得提前优化这样的代码,它几乎肯定会表现良好,但你处理这个。