Java – splits a string into string [] for a period of time, but returns an empty array
Well, maybe I just need a second pair of eyes
I have a floating point number and I become a string Then I want to split it with its period / decimal so that it can be expressed as currency
Inherit my code:
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"; } }
If you take this and run it, you will get an array index out of bounds error on line 6 (in the code above), with nothing after the decimal
In fact, on line 5, when I print out the size of the array, it is 0
For them, these are absurd mistakes, not things I just ignore
As I said, another pair of eyes is exactly what I need, so please don't be rude when pointing out something obvious to you, but I ignored it
Thank you in advance!
Solution
Split uses a regular expression where "." It means matching any role What you need to do
"\\."
Editor: fix, thanks to reviewers and editors