JavaでJSR223を利用し、JavaScriptで四則演算時の丸め誤差を無くします。
※JDK6以上が必要。
【手順】
1.「Javaプロジェクトの作成方法」の手順で、「JSR223Sample009-BigDecimalCalc」といプロジェクトを作成。
2.「Javaクラスファイルの作成方法」の手順で、「Main.java」というクラスファイルを作成。
3.「Main.java」を以下の様に入力。
import java.math.BigDecimal;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException, NoSuchMethodException {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
if (scriptEngine == null) {
System.err.println("ScriptEngineの作成に失敗しました。");
System.exit(1);
}
scriptEngine.put("calc", new Calc());
scriptEngine.put("param1", 0.1);
scriptEngine.put("param2", 0.2);
String addResult = scriptEngine.eval("calc.add(param1, param2)").toString();
System.out.println("addResult=" + addResult);
}
}
class Calc {
public String add(String param1, String param2) {
return new BigDecimal(param1).add(new BigDecimal(param2)).toString();
}
}
4.「Ctrl+Shift+F」を押し、コードをフォーマッティング。
5.「Ctrl+S」を押し、ファイルを保存。
6.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
7.以下の様にコンソールに出力されていれば成功です。
(※コンソールが表示されていない場合は、「コンソール・ビューの表示方法」を確認)
addResult=0.3
以上です。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。