Java imageJ中的字符串到int
以下是我的代码的一部分:Java imageJ中的字符串到int,java,imagej,Java,Imagej,以下是我的代码的一部分: String xdim = fake.substring(0,index); IJ.showMessage("xdim "+xdim); String ydim = fake.substring((index+1)); int xwidth = Integer.parseInt(xdim); 它编译正常,MessageDialog对话框生成语句“xdim 400.0”。 然后,程序在该行产生错误 int xwidth = Integer.parseInt(xdim);
String xdim = fake.substring(0,index);
IJ.showMessage("xdim "+xdim);
String ydim = fake.substring((index+1));
int xwidth = Integer.parseInt(xdim);
它编译正常,MessageDialog对话框生成语句“xdim 400.0”。
然后,程序在该行产生错误
int xwidth = Integer.parseInt(xdim);
我在这个网站上看到回答问题的人说这是使用的方法。我的字符串似乎没有被解析为Int
有什么想法吗
我尝试将字符串转换为double,并将其从double转换为int,但出现了一个编译错误,声明“double不能被取消引用”
谢谢你的时间
贝特曼代替了
int xwidth = Integer.parseInt(xdim);
你应该试试
double xwidth = Double.parseDouble(xdim);
或
很明显,这里有一个小数(.0
),当试图将其解析为int时,会出现NumberFormatException
如果您想使用xwidth作为int,那么也应该使用
注意,如果您将double
作为参数传递,您将返回long
,但是如果您传递float
,返回值将为int
int xwidth = Math.round(Float.parsefloat(xdim));
xdim
的值是多少?您得到的是java.lang.NumberFormatException
400.0
实际上不是int。
int xwidth = Math.round(Float.parsefloat(xdim));