この記事の例では、Java での BigDecimal クラスの簡単な使用法を説明します。これは、Java プログラミングにおける非常に実践的なスキルです。参考にしてください。具体的な使用状況の分析は次のとおりです。
一般に、Java でのビジネス計算に関して言えば、float と double は正確な計算を実行できないため使用できないことは誰もが知っています。ただし、Java の設計者は、正確な計算を実行できない float クラスや double クラスの欠点を改善できる、非常に便利なクラス BigDecimal をプログラマに提供しています。 BigDecimal クラスは、java.maths クラス パッケージの下にあります。まず、BigDecimal オブジェクトを構築する方法を見てみましょう。多くのコンストラクターがあります。ここでは、最も一般的に使用される 2 つのコンストラクターを示します。1 つは BigDecimal(double val)、もう 1 つは BigDecimal(String str) です。 2 つに大きな違いはないようですが、API の説明には次のように記載されています。
/*このコンストラクターの結果は、多少予測できない場合があります。 new BigDecimal(.1) は .1 と正確に等しいと思われるかもしれませんが、実際には .100000000000000055511151231257827021181583404541015625 と等しいのです。ダブル(または、そのために、したがって、コンストラクターに渡される Long 値は、外観にかかわらず、正確に .1 に等しくはありません。一方、(String) コンストラクターは完全に予測可能です。 : new BigDecimal(".1") は、ご想像のとおり、.1 とまったく同じです。したがって、一般的には、これよりも (String) コンストラクターを使用することをお勧めします。つまり、パラメータとして double を使用するコンストラクターは BigDecimal オブジェクトを正確に構築できません。コンテキスト環境を指定する必要があります。つまり、正確なビットを指定する必要があります。 String オブジェクトをパラメーターとして使用するコンストラクターは、BigDecimal オブジェクトを正確に構築できます。以下のコードを見てください。
import java.math.*;public class TestBigDecimal { public static void main(String args[]){ BigDecimal bd = new BigDecimal("10.123"); System.out.println(bd +) "/n"+bd1);実行後の出力:
10.123
10.1229999999999993320898283855058252811431884765625
したがって、コンストラクターを選択するときは、特定のニーズに依存します。
さらに、多くの人は、int、float、double、long、BigDecimal オブジェクトなどの基本型を相互に変換する方法を尋ねるでしょう。とてもシンプルです:
基本型はコンストラクターを通じて対応する BigDecimal オブジェクトに変換されます。BigDecimal クラスは、BigDecimal オブジェクトを対応する値に変換するための intValue()、floatValue()、doubleValue()、longValue() などのメソッドを提供します。
BigDecimalの計算方法について、フォーラムに投稿された方の質問投稿を例に、BigDecimalの計算方法を簡単に書いてみました。話題はこうだ。李白はワインを買うために壺を抱えて何事もなく通りを歩いていた。店に出会ったら倍、花に出会ったら一斗を飲む、花とお店に出会ったら、壺の中の酒を全部飲み干す 李白の壺には何斗の酒がある。 ?
この問題を後ろから前に進め、計算を逆にすれば、最終的に元のワインの量が得られます。
import java.math.*;public class Libai { public static void main(String args[]){ BigDecimal volumn = new BigDecimal("0"); for (int i=0; i<5; i++){ volumn = volumn .add(new BigDecimal("1")); volumen = volumn.divide(new BigDecimal("2")); System.out.print(ボリューム);実行結果:
0.96875
この記事で説明した内容が、皆さんの Java プログラミングの学習に役立つことを願っています。