簡體   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