package br.com.centralit.citcorpore.util;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class UtilCalculo {
/**
* Retorna o total da Express�o passada.
* Por exemplo: ao passar, (10*10*(5/2)), ele retorna 250.
*
* @param expressao
* @return Double
* @author renato.jesus
*/
public static Double calculaExpressao(String expressao) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Double resultado = 0.0;
if(expressao.isEmpty() || expressao == null) {
return resultado;
}
try {
resultado = (Double) engine.eval(expressao);
} catch (ScriptException e) {
e.printStackTrace();
}
return resultado;
}
}