如何将以下值解析为 int。我们在 java.math 中有任何特定的类吗?
String string="500.0000000";
我尝试如下,它抛出数字格式异常。
int x=Integer.parseInt(string).
问候,
拉吉
如何将以下值解析为 int。我们在 java.math 中有任何特定的类吗?
String string="500.0000000";
我尝试如下,它抛出数字格式异常。
int x=Integer.parseInt(string).
问候,
拉吉
您可以在一行中解析它
String string="500.0000000";
int x = Double.valueOf(string).intValue();
System.out.println(x);
或者
int x = (int)Double.parseDouble(str);
你会得到输出为
500
这里Double.valueOf(string)
将字符串解析为双值
和
使用解析的 double 值转换为 int 类型.intValue();
将其解析为双精度,然后将其转换为整数:
String s = "500.0000000";
double d = Double.parseDouble(s);
int i = (int) d;
Java 将 double 转换为 int 的方式是它删除了小数部分。
小数表示它不是整数。尝试将其解析为浮点数或双精度数:
float f = Float.parseFloat(string);
如果你需要它作为一个 int,你可以尝试转换它:
int x = (int)f;
您的主要问题是,您尝试将双精度值解析为 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