将任何除法错误的值设置为零-使用C#评估字符串表达式

问题描述 投票:1回答:1

我正在开发金融应用程序,所以我关心准确性,我需要像这样评估公式表达式:

(200/{trans_alow}*100)+150

因此,假设{trans_alow}的值为0,则等式如下所示:

(200/0*100)+150

我正在使用NCalc lib对表达式进行如下计算

return new Expression("(200/0*100)+150").Evaluate();

并且肯定会返回∞作为输出。

但是我只需要产生误差的除法将为零,并且输出将为0 + 150 = 150

我可以处理这个问题吗?

提前感谢。

c# integer-division divide-by-zero
1个回答
0
投票
if (trans_alow == 0) { return new Expression("0+150").Evaluate(); } else { return new Expression($"(200/{trans_alow}*100)+150").Evaluate(); }
© www.soinside.com 2019 - 2024. All rights reserved.