0

以下の値を int として解析する方法 java.math に特定のクラスはありますか?

       String string="500.0000000";

以下のように試してみましたが、Number Format例外がスローされています。

       int x=Integer.parseInt(string).

よろしく、

ラージ

4

4 に答える 4

2

次のように 1 行で解析できます。

String string="500.0000000";
int x = Double.valueOf(string).intValue();
System.out.println(x);

また

int x = (int)Double.parseDouble(str);

次のように出力されます

500

ここでDouble.valueOf(string)文字列を解析して double 値にします

を使用して int 型に変換された double 値を解析した.intValue();

于 2013-09-27T19:23:29.210 に答える
0

double として解析し、次に整数に変換します。

String s = "500.0000000";
double d = Double.parseDouble(s);
int i = (int) d;

Java が double を int にキャストする方法は、小数部を削除することです。

于 2013-09-27T19:20:58.267 に答える
0

小数は、整数ではないことを意味します。float または double として解析してみてください。

float f = Float.parseFloat(string);

int として必要な場合は、キャストしてみてください。

int x = (int)f;
于 2013-09-27T19:21:58.770 に答える
0

あなたの主な問題は、double 値を int に解析しようとすることです。ただし、これが他の国でも機能する必要がある場合は、次のものが必要です。

NumberFormat nf = NumberFormat.getNumberInstance( Locale.GERMANY );
System.out.println( nf.parse( "100.0000000" ) ); // ->  1000000000

nf = NumberFormat.getNumberInstance( Locale.US );
System.out.println( nf.parse( "100.0000000" ) ); // -> 100
于 2013-09-27T19:26:03.700 に答える