将字符串值转换为整数

时间:2013-10-07 10:36:52

标签: java

如何将字符串值转换为整数并将转换后的值乘以整数,以便我可以得到300.00的结果。见下面的例子 -

int value = 5;
String  str = "60.00 Cur";

如果我这样编码那么我就会收到错误 -

Float f = new Float(app.price.get(position));           
double d = f.doubleValue();                 
int i = (int)d;

7 个答案:

答案 0 :(得分:2)

使用Interger.parseInt(String)或Float.parseFloat(String)

参考API文档

http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html

答案 1 :(得分:2)

使用Integer.parseInt()方法转换为整数。

答案 2 :(得分:1)

试试这个

int n = NumberFormat.getIntegerInstance().parse(str).intValue();

答案 3 :(得分:0)

如果String只包含数值,则可以使用

的Integer.parseInt(字符串);要么 Float.parseFloat(字符串);

至于你的例子,“USD”部分会导致失败,因此你可能必须首先剥离这部分。

e.g。 string.split(“”);

答案 4 :(得分:0)

您可以尝试以下代码,看看这是否是您想要的?最终答案将出现在变量“result”中。

String str = "60.00 USD";
int value = 5;
String dollarValue = str.split(" ")[0];
Float price = Float.parseFloat(dollarValue );
Float result = price * value;

DecimalFormat df = new DecimalFormat("#.##");
df.setMinimumFractionDigits(2);
String resultString = df.format(result);

如果你直接尝试parseFloat str,因为它包含字符串USD,你将得到一个“NumberFormatException”。在这里,我们将分开并采取第一部分。

编辑:尝试使用DecimalFormat新添加的代码,并将resultString用于您的目的。

答案 5 :(得分:0)

您将获得NumberFormatException因为"60.00 USD"不是浮点数。要做到正确,你必须删除货币。有许多方法可以删除usd。例如

String s = "60.00 USD";
s = s.replace(" USD" , "");

或如果货币未修复

s = s.split(" ")[0];

现在你有一个字符串s,其值为"60.00"

所以你现在可以这样做

float f = Float.parseFloat(s);

答案 6 :(得分:0)

使用,

 Integer.parseInt("value you want to parse as int")

同样可以使用,

Double.parseDouble("value");

这是您的问题的答案

int result = Integer.parseInt("150.00 USD")* Integer.parseInt("5");