好吧,也许我只需要第二双眼睛.
我有一个浮点数,我变成了一个字符串.然后我想用它的周期/小数将它拆分,以便将其作为货币表示.
继承我的代码:
float price = new Float("3.76545"); String itemsPrice = "" + price; if (itemsPrice.contains(".")){ String[] breakByDecimal = itemsPrice.split("."); System.out.println(itemsPrice + "||" + breakByDecimal.length); if (breakByDecimal[1].length() > 2){ itemsPrice = breakByDecimal[0] + "." + breakByDecimal[1].substring(0,2); } else if (breakByDecimal[1].length() == 1){ itemsPrice = breakByDecimal[0] + "." + breakByDecimal[1] + "0"; } }
如果你拿这个并运行它,你将在第6行(在上面的代码中)得到一个数组索引越界错误,关于小数后面没有任何内容.
实际上在第5行,当我打印出数组的大小时,它为0.
对于他们而言,这些都是荒谬的错误,而不是我只是忽视的东西.
就像我说的那样,另一双眼睛正是我所需要的,所以在指出一些对你来说很明显的东西时请不要粗鲁,但我忽略了它.
提前致谢!
解决方法
split使用正则表达式,其中“.”意味着匹配任何角色.你需要做的
"\\."
编辑:修复,感谢评论者和编辑