システムブログ システムソリューションのメンバーが
システムの素晴らしさを紹介いたします

株式会社東洋のシステム開発は、無駄のない仕様をはじめ、簡単な入力画面や検索機能が人気です。
システムソリューションのメンバーがその素晴らしい機能をひとつずつ紹介いたします。

プリミティブ型変数の計算「除算について」

今回も、弊社で開発しております販売管理システムQuestPlusの主コンピュータ言語であるJavaの一部の言語仕様を紹介させて頂きます。(その2です。)
今回は、プリミティブ型変数の計算について前回の続きで、除算についてです。

上記の計算でcは、どのような値になるでしょうか。
コンピュータ言語について知らない場合は、「1.5」と答えるでしょうが、intとは整数のことで演算は整数同士で行われ、結果は整数に丸められます。実数から整数に丸める場合、Java言語では切り捨てが行われます。
その結果、cは「1」となります。

では、期待通り「1.5」を得るには、どうすれば良いでしょうか。

整数であるintでなく、実数であるfloatかdoubleを使います。この2つの使い分けは有効桁数の違いです。

ここで、

のように書くとどうなるでしょうか。
b割るaの結果をfloatにしているので大丈夫、と思うかも知れません。しかし、Javaではそのようにはなりません。整数を整数で割って得た値を整数にする、そして、それから実数の変数に代入します。
結果、「1.0」になります。「1.5」にはならないので注意が必要です。

以上、Java言語の一部の言語仕様の紹介でした。