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(文字列); または Float.parseFloat(string);

あなたの例では、「USD」の部分が原因でこれが失敗するため、おそらく最初にこの部分を取り除く必要があります.

例 string.split(" ");

于 2013-10-07T10:41:52.737 に答える
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);

parseFloatUSD という文字列が含まれているため、str を直接使用しようとすると、「NumberFormatException」が発生します。ここでは、それを分割して最初の部分を取ります。

編集:新しく追加されたコードを試してDecimalFormat、目的に合わせてresultStringを使用してください。

于 2013-10-07T10:42:40.787 に答える
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 に答える
0

float ではないNumberFormatExceptionasが得られます。"60.00 USD"それを正しくするには、通貨を削除する必要があります。米ドルを削除するには多くの方法があります。例えば

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

または通貨が固定されていない場合

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

これで、値が"60.00"

今すぐこれを行うことができます

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