Как вычислить (оценить) сложную математическую строку - PullRequest
0 голосов
/ 26 апреля 2020

Мне нужно вычислить строку типа "5 * 8 * 9%", поэтому результат должен быть 3,6.

Я пытался использовать DataTable, как это, но он считает, что такие выражения как недопустимые (оператор отсутствует):

DataTable table = new DataTable(); table.Compute("5*8*9%",null);

Можно ли добиться желаемого результата с помощью DataTable? Или, есть ли какой-то другой способ в C#, чтобы я мог оценивать строки с процентами и операциями с круглыми скобками без анализа вручную?

1 Ответ

1 голос
/ 26 апреля 2020

Нет способа сделать это без манипулирования строкой сначала просто потому, что знак процента является оператором модуля, и любая системная оценка уравнения со знаком% будет пытаться вычислить мод.

Вы с либо нужно написать собственный код, либо найти тот, который уже написал кто-то другой.

...