如何将以下值解析为int。我们在java.math中有任何特定的类吗?
String string="500.0000000";
我尝试如下,它正在抛出数字格式异常。
int x=Integer.parseInt(string).
此致
拉吉
答案 0 :(得分:2)
您可以通过
在一行中解析它String string="500.0000000";
int x = Double.valueOf(string).intValue();
System.out.println(x);
或强>
int x = (int)Double.parseDouble(str);
您将获得输出
500
这里Double.valueOf(string)
将字符串解析为双值
和
使用.intValue();
答案 1 :(得分:0)
将其解析为double并将其转换为整数:
String s = "500.0000000";
double d = Double.parseDouble(s);
int i = (int) d;
Java将double转换为int的方式是删除小数部分。
答案 2 :(得分:0)
小数表示它不是整数。尝试将其解析为float或double:
float f = Float.parseFloat(string);
如果你需要它作为int,你可以尝试投射它:
int x = (int)f;
答案 3 :(得分: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