0

Java と Apache derby を使用して、大きな数を扱うプロジェクトを作成しています。大きな数字を保存する場合を除いて、すべてがうまくいっています。たとえば。Java クラスを使用して 1000000000 を derby テーブルに保存すると、自動的に 1.0E9 になります。この値を別の形式で取得すると、1.0E9 のように表示されます。どうすればこれを止めることができますか? これを行うために float データ型を使用しています。つまり、1000000000 を 1.0E9 ではなく 1000000000 として保存するにはどうすればよいですか?

4

3 に答える 3

0
import java.math.BigInteger;
//...
//...
//...
BigInteger store = new BigInteger("1000000000");
于 2013-10-22T17:00:58.317 に答える
0

上記のように、BigInteger を使用することも、1.0E9 を実際の数値に変換することもできます。1.0×10^9。

于 2013-10-22T16:45:32.953 に答える
0

1.0e9 は 1000000000 と同じです。それは単なる表現の問題です。文字列に変換するときに適切なフォーマッタを適用するだけです。

これを簡単にする 2 つの方法はNUMERIC、Derby で列タイプを使用することと、Java コードでBigDecimalまたはデータ タイプのいずれかを使用することです。または、long が問題のドメインで値を保持できると確信している場合は、おそらく a を使用します。BigIntegerlong

于 2013-10-22T16:56:55.270 に答える