Вы можете использовать такую функцию, чтобы форматировать числа и, необязательно, передавать нужные десятичные знаки. Если десятичные разряды не указаны, он будет использовать два десятичных знака.
public static string formatNumber(decimal valueIn=0, int decimalPlaces=2)
{
return string.Format("{0:n" + decimalPlaces.ToString() + "}", valueIn);
}
Я использую десятичную, но вы можете изменить тип на любой другой или использовать анонимный объект. Вы также можете добавить проверку ошибок для отрицательных значений десятичной точки.
Это - неполный ответ, но Вы смотрите на описывание свободного текстового синтаксического анализатора, который, как Вы знаете, нетривиален:)
Некоторые способы обмануть, с помощью знания, характерного для кулинарии:
, Если Вы более амбициозны, можно посмотреть в Книга NLTK в главе по синтаксическим анализаторам.
Удачи! Это походит на главным образом выполнимый проект!
Можно ли быть более конкретными, каков вход? Если Вы просто ввели как это:
1 cup flour
2 lemon peels
1 cup packed brown sugar
не будет слишком трудно проанализировать его, не используя обработки естественного языка вообще.