我目前使用ncalc庫來做幾次評估,並從中得出結果。ncalc數千格式的逗號無法評估?
現在我發現了一個問題,如果我有格式「1,234.01」的價格,它將無法評估我的表情。
我使用目前的解決方法是刪除,
但我想知道是否有方法來評估一種貨幣,而無需去除,
例如:
decimal price = 0;
if (!decimal.TryParse(iPrice.Text, out price))
{
MessageBox.Show("Price is not formatted correctly...");
return;
}
decimal currency = 0;
if (!decimal.TryParse(iCurrency.Text, out currency))
{
MessageBox.Show("Currency is not formatted correctly...");
return;
}
string formula = iFormula.Text.Replace("Price", price.ToString("n2")).Replace("Currency", currency.ToString("n2"));
Expression exp = new Expression(formula);
exp.Evaluate();
評估失敗,因爲,
的從我的價格,如果我刪除它,它工作得很好。
樣品的公式:
(((Price+12,9)+((Price+12,9)*0,05)+(((Price+12,9)+((Price+12,9)*0,05))*0,029)+0,45)*Currency)
堆棧跟蹤的要求:
NCalc.EvaluationException was unhandled
Message=mismatched input ',' expecting ')' at line 1:4
mismatched input ',' expecting ')' at line 1:20
mismatched input ',' expecting ')' at line 1:43
mismatched input ',' expecting ')' at line 1:59
missing EOF at ')' at line 1:77
Source=NCalc
StackTrace:
at NCalc.Expression.Evaluate()
聽起來像文化問題,或者ncalc不支持默認不變文化。 – leppie
leppie good call我會檢查不變... – Guapo
鑑於堆棧跟蹤。這肯定是一個文化問題。 – leppie