1

私の質問に答えるために時間を割いてくれてありがとう。

私にはdouble価値があります(たとえば22.35)。それを解析してString2235を取得する必要があります。次のコードは正しく機能していません。

double totalPrice = 22.35;
DecimalFormat df = new DecimalFormat("#.##");
String[] temp = df.format(totalPrice).split(".");
String amount = temp[0] + temp[1];

例外が発生し続けますArrayIndexOutOfBounds。これを行う別の方法は何ですか?前もって感謝します!

4

4 に答える 4

4

値が100を掛けた後、MAX_INTを超えない場合は、次の値を掛けます。

double totalPrice = 22.35;
int iPrice = (int) (totalPrice * 100);
String sPrice = "" + iPrice;
于 2012-05-21T02:08:03.440 に答える
0

どうですか:

double totalPrice = 22.35;
DecimalFormat df = new DecimalFormat("#.##");
String price = df.format(totalPrice).replace(".", "");
于 2012-05-21T02:15:21.857 に答える
0

これは、適用しようとする数値に関係なく機能します。

double num = 22.35;
String concatenate = "" + num;
String parsedNum = concatenate.replace(".", "");

これがお役に立てば幸いです。

于 2012-05-21T13:04:56.297 に答える
0

たぶん、次のようにすることができます: 正規表現 "." を変更するだけです。に " \。"!

String[] temp = df.format(totalPrice).split("\\.");
于 2012-05-21T02:51:59.907 に答える