В C # разберите строку без десятичной точки до десятичного числа - PullRequest
1 голос
/ 26 ноября 2010

Интересно, каков идиоматический / встроенный / быстрый способ сделать это: я получаю числа в виде строки символов, они выглядят так:

0012345
или
001234p

Строки, заканчивающиеся буквами, представляют отрицательные значения. Шкала доступна отдельно.

В зависимости от информации о масштабе, первым может быть то, что мы обычно пишем как 1234,5, 0,0012345, 12 345,00 и т. Д. А второе -12,340 или -1 234,0 ... или -,001234. "p" равно 0, "q" равно 1 и т. д.

Моей первой мыслью было пешеходное джиггеринг строки, который будет делать моя мама, и Decimal.Parse.

Мне нужно проанализировать десятки тысяч таких чисел при запуске интерактивного приложения - так что, если есть более быстрый способ сделать это, это здорово. (Хотя я еще не знаю точно, что производительность всегда является проблемой) Я полагаю, что теоретически должен быть более быстрый способ сделать это, написав другой десятичный анализ, который распознает числа как альтернативы цифрам. На практике отрицательные числа - это ничтожная часть чисел, которые я буду видеть, но чем быстрее, тем лучше.

Спасибо

Levin

1 Ответ

1 голос
/ 26 ноября 2010

Пока вы не знаете, что производительность является проблемой, закодируйте ее как можно проще.Не стоит заранее оптимизировать такой код, он почти наверняка будет работать хорошо, но вы справитесь с этим.

...