2

jtds JDBCドライバーを使用するgetStringと、科学的記数法でフォーマットされたdoubleが返されることがあります。

// metaData.getColumnType(0) == java.sql.Types.DOUBLE
String.format("%f", resultSet.getDouble(0)); // = 26150279.910000
resultSet.getString(0);  // = 2.615027991E7

一部の値では、そうではありません。

String.format("%f", resultSet.getDouble(0)); // = 624000.000000
resultSet.getString(0);  // = 624000.0

getString常にフォーマットされた%fdoubleを返すように強制することは可能ですか?

どうか、私に使用するように説得しないでくださいgetDouble()。ありがとうございました。

4

1 に答える 1

4

getDouble を使用して double を抽出します。

double num = resultSet.getDouble();

使用するパターンを指定する 10 進数フォーマッタを作成します。指定しない場合は、デフォルトのロケール パターンが使用されます。

DecimalFormat df = new DecimalFormat(pattern);

フォーマットされた文字列を取得する

String formattedString = df.format(num);

そして、あなた自身のストリングを楽​​しんでください:)

パターンの作成方法についてヘルプが必要な場合は、次のドキュメントを参照してください。

http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html

于 2012-02-02T15:22:31.520 に答える