1

感谢您花时间回答我的问题。

我有一个double值(比如说 22.35)。我需要将其解析为 aString并得到 2235。以下代码无法正常工作。

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 num = 22.35;
String concatenate = "" + num;
String parsedNum = concatenate.replace(".", "");

希望这对您有所帮助。

于 2012-05-21T13:04:56.297 回答
0

关于什么:

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

也许您可以这样做:只需更改正则表达式“。” 至 ” \。”!

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