【发布时间】:2019-10-17 21:44:56
【问题描述】:
我正在使用这个项目 (https://github.com/APISENSE/rhino-android) 在我的 Android 应用中进行计算。
但是,表达式中某些以 0 开头的数字会导致计算中出现奇怪的行为。例如:
- eval(016+2) 返回 16。
- eval(016) 返回 14。
- eval(031) 返回 25。
- eval(031x2) 返回 50。
其他看起来不错的例子:
- eval(018+2) 返回 20。
- eval(019+5) 返回 24。
代码示例:
String expression = "016+2";
ScriptEngine engine = new ScriptEngineManager().getEngineByName("rhino");
double result = (double) engine.eval(expression);
有什么想法吗?
【问题讨论】:
标签: javascript java android rhino