在imageJ中的字符串到int

时间:2013-03-21 11:18:20

标签: java imagej

以下是我的代码的一部分:

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不能解除引用”

感谢您的时间

贝特曼

1 个答案:

答案 0 :(得分:2)

而不是

int xwidth = Integer.parseInt(xdim);

你应该试试

double xwidth = Double.parseDouble(xdim);

float xwidth = Float.parseFloat(xdim);

因为你明显有一个小数(.0),在尝试解析为int时给出一个NumberFormatException ...

如果要将xwidth用作int,则也应使用Math.round

请注意,如果您将double作为参数传递,则会返回long,但如果您传递float,则返回int ...

int xwidth = Math.round(Float.parsefloat(xdim));