0

以下は私のコードのセクションです:

String xdim = fake.substring(0,index);
IJ.showMessage("xdim "+xdim);
String ydim = fake.substring((index+1));
int xwidth = Integer.parseInt(xdim);

正常にコンパイルされ、MessageDialog Box に "xdim 400.0" というステートメントが生成されます。次に、プログラムは次の行でエラーを生成します

int xwidth = Integer.parseInt(xdim);

このウェブサイトで、これが使用する方法であると答えた質問を見ました。文字列が Int として解析されていないようです。

何か案は?

String を double に、double から int に変換しようとしましたが、「double は逆参照できません」というコンパイル エラーが発生しました。

御時間ありがとうございます

ベイトマン

4

1 に答える 1

2

それ以外の

int xwidth = Integer.parseInt(xdim);

試してみてください

double xwidth = Double.parseDouble(xdim);

また

float xwidth = Float.parseFloat(xdim);

明らかに小数があるので ( .0)、int として解析しようとすると NumberFormatException が発生します...

xwidth を int として使用する場合は、Math.roundも使用する必要があります。

double引数として渡すとlongback が得られますが、 a を渡すとfloat戻り値はint...になることに注意してください。

int xwidth = Math.round(Float.parsefloat(xdim));
于 2013-03-21T11:23:07.177 に答える