得到字符串后的字符串的具体数字
问题描述:
如果我有一个像“(10/0)+(29/0.0)+(10/0.1)”这样的字符串,我想抛出一个除零异常。对于这种情况,我必须解析字符串并检查分隔字符过去的所有数字。得到字符串后的字符串的具体数字
我该如何解决这个功能?
答
作为起始的建议,你可以使用的ScriptEngine类,以它作为评价一个JS表达式:
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval("(10/0) + (29/0.0) + (10/0.1)");
然后提高适当的异常。
答
这会抛出DivideByZero异常,否则会返回结果。
try
{
System.Data.DataTable dt = new System.Data.DataTable();
var result = dt.Compute("(10/0) + (29/0.0) + (10/0.1)", "");
//Work with further result here
}
catch(System.DivideByZeroException e)
{
//Your exception here
}
而你的问题是? –
Sry,忘记了=( – Patrik