0

だから、私はそれらを持っています:

String[] pret = new String[allcant.size()];
String[] totaluri = new String[allcant.size()];
String[] cant = new String[allcant.size()];

私はこのようなことをしたい:

totaluri[l]=pret[l]*cant[l];`

しかし、私はできません。私はそれらを浮かせる必要があると思いますか? cant と pret の値を取得する edittexts からの私の入力は小数なので? どうやってやるの ?私はこれを試しましたが、それは私をさせません

totaluri[l]=Float.parseFloat(cant[l]) *Float.parseFloat(pret[l]);
4

3 に答える 3

2

Double.parseDouble()a を使用するか、小数点以下の数値Float.parseDouble()に変換する必要があります。String次に、Double.toString()またはFloat.toString()を使用して、計算結果を文字列に戻すことができます。

これをすべてまとめると:

double temp = Double.parseDouble(cant[l]) * Double.parseDouble(pret[l]);
totaluri[l] = Double.toString(temp);

s と Java のプリミティブ データ型の使用に関する詳細については、Oracle の Java チュートリアルのプリミティブ データ型レッスン: 数値と文字列を読むことを強くお勧めします。String

于 2013-06-07T22:12:53.117 に答える
0
BigDecimal pretBD = BigDecimal.valueOf(pret[i]);
BigDecimal cantBD = BigDecimal.valueOf(cant[i]);
BigDecimal totaluriBD = pretBD.multiply(cantBD).setScale(2);  // Decimals #.##

totaluri[i] = totaluriDB.toString();

入力が多く、演算子 (乗算、加算) はありませんdoubleが、財務目的には不十分です。5000 * 0.2 は 1000.0 にはなりません。

于 2013-06-07T22:36:46.427 に答える
-1

これはどうですか?

totaluri[l] = new String(Float.parseFloat(cant[l]) * Float.parseFloat(pret[l]));
于 2013-06-07T22:09:11.143 に答える