感谢您抽出宝贵时间回答我的问题。
我有一个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
。另一种方法是什么?提前谢谢!
答案 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(".", "");
希望这会对你有所帮助。