繁体   English   中英

将字符串值转换为整数

[英]convert string value in to integer

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

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

请参阅API文档

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

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

尝试这个

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

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

的Integer.parseInt(字符串); 或Float.parseFloat(string);

对于您的示例,“ USD”部分将导致此操作失败,因此您很有可能必须先将其剥离。

例如string.split(“”);

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

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);

如果您尝试直接在str上parseFloat ,则将得到“ NumberFormatException”,因为它包含字符串USD。 在这里,我们将拆分并进行第一部分。

编辑 :尝试使用DecimalFormat新添加的代码,并根据需要使用resultString。

您会收到NumberFormatException因为"60.00 USD"不是浮点数。 为了使其正确,您必须删除货币。 有很多方法可以删除usd。 例如

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

或者货币不是固定的

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

现在,您有了一个A字符串,其值为"60.00"

所以你现在就可以做

float f = Float.parseFloat(s);

采用,

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

同样,您可以使用

Double.parseDouble("value");

这是您的问题的答案

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM