0

如何将字符串值转换为整数并将转换后的值乘以整数,以便我可以得到结果为 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;
4

7 回答 7

2

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

参考 API 文档

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

于 2013-10-07T10:39:43.923 回答
2

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

于 2013-10-07T10:40:04.540 回答
1

试试这个

int n = NumberFormat.getIntegerInstance().parse(str).intValue();
于 2013-10-07T10:39:17.147 回答
0

如果字符串仅包含数值,您可以使用

Integer.parseInt(string); 或 Float.parseFloat(string);

至于你的例子,“美元”部分会导致这个失败,所以你可能必须先把这部分去掉。

例如 string.split(" ");

于 2013-10-07T10:41:52.737 回答
0

你可以试试下面的代码,看看这是不是你想要的?最终答案将出现在变量“结果”中。

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 上执行,您将收到“NumberFormatException”,因为它包含字符串 USD。在这里,我们将拆分它并采取第一部分。

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

于 2013-10-07T10:42:40.787 回答
0

你会得到一个NumberFormatExceptionas "60.00 USD"is not a float。为了使它正确,您必须删除货币。可以有许多方式去除usd。例如

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

或者如果货币不固定

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

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

所以你现在可以这样做

float f = Float.parseFloat(s);
于 2013-10-07T10:47:57.747 回答
0

采用,

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

同样你可以使用,

Double.parseDouble("value");

这是您的问题的答案

int result = Integer.parseInt("150.00 USD")* Integer.parseInt("5");
于 2013-10-07T10:54:53.103 回答