用小数点解析整数

时间:2013-09-27 19:19:08

标签: java

如何将以下值解析为int。我们在java.math中有任何特定的类吗?

       String string="500.0000000";

我尝试如下,它正在抛出数字格式异常。

       int x=Integer.parseInt(string).

此致

拉​​吉

4 个答案:

答案 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();

将解析后的double值转换为int类型

答案 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