Java BigDecimalで除算したらArithmeticException

   

永遠に割り切れない除算でArithmeticExceptionが発生します。

解決策としては、丸めてください。

BigDecimal bd = BigDecimal.valueOf(10);
 
BigDecimal test = bd.divide(BigDecimal.valueOf(3), 0, RoundingMode.HALF_UP);
※スケール(第二引数)には少数点以下の桁数を指定

これで例外が発生しなくなります。

丸め方は以下のようになります。

CEILING 正の無限大に近づくように丸めるモードです。
DOWN 0 に近づくように丸めるモードです。
_FLOOR 負の無限大に近づくように丸めるモードです。
_HALF_DOWN 「もっとも近い数字」に丸めるモードです。
HALF_EVEN 「もっとも近い数字」に丸める丸めモードです。
ROUND_HALF_UP 「もっとも近い数字」に丸めるモードです。
UNNECESSARY 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。
UP 0 から離れるように丸めるモードです。

 -java

  関連記事

000018

初めてのSAStruts~Tomcat Plugin インストール編~

Eclipseを起動 「eclipse.exe」を実行する。 デフォルトのworkspaceで問題あ

000018

初めてのSAStruts~Eclipse(Pleiades)ダウンロード編~

Pleiades – Eclipse プラグイン日本語化プラグインをダウンロードします

WS000004

正規表現が苦手な人へ

正規表現が何度やっても覚えられない。 ※たぶん覚えようとしていない。 非常に素敵なサンプルを見つけた

WS000004

SAStruts メソッドが呼ばれない

メソッドを書き、クライアントから読んでいるにも関わらずうまく動作しない、 呼ばれていない、他のメソッ

WS000004

Ajax通信時にサーバーで設定したCookieはクライアントで取得できるか?

JQuery等からAjaxでサーバーに通信する際、非同期である為 そのレスポンスヘッダにサーバー側で

000018

S2JDBC Antタスクが止まる

久々にSAStrutsでアプリケーションを作ろうと思ったものの、とても初歩的なところであしぶみ・・・

WS000004

Javaでパスワード付ZIPを解凍する

ZIPファイルの解凍処理は実装済みであったので、 「ZIPファイルにパスワードをかけて運用したいので

000018

初めてのSAStruts~Tutorial編~

チュートリアルをダウンロード http://sastruts.seasar.org/download

000018

初めてのSAStruts~ブランクプロジェクトのセットアップ編~

Doltengのインストール ヘルプ→新規ソフトウェアのインストールを開き、 作業対象に以下のURL

000018

初めてのSAStruts~XAMPPインストール編~

XAMPPのダウンロード 簡単にインストール、環境構築可能なXAMPPを利用します。 https:/

  Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>