难以解析双字符串

时间:2012-05-21 02:00:46

标签: java string parsing double

感谢您抽出宝贵时间回答我的问题。

我有一个double值(假设为22.35)。我需要将其解析为String并获得2235.以下代码无法正常工作。

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

我不断收到例外ArrayIndexOutOfBounds。另一种方法是什么?提前谢谢!

4 个答案:

答案 0 :(得分:4)

如果您的值不超过,则在乘以100后,MAX_INT将它们相乘:

double totalPrice = 22.35;
int iPrice = (int) (totalPrice * 100);
String sPrice = "" + iPrice;

答案 1 :(得分:0)

怎么样:

double totalPrice = 22.35;
DecimalFormat df = new DecimalFormat("#.##");
String price = df.format(totalPrice).replace(".", "");

答案 2 :(得分:0)

也许你可以这样做:只需改变正则表达式“。”到“\。”!

String[] temp = df.format(totalPrice).split("\\.");

答案 3 :(得分:0)

无论你尝试将它应用到多高的数字,这都会有效:

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

希望这会对你有所帮助。