最近の更新

2015年8月14日金曜日

JSR233で四則演算時に丸め誤差を無くす

【目的】
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 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事