I need convert strings to price format.
For example
- 150 = 150.00
- 1000 = 1'000.00
- 25500 = 25'500.00
- 1000.80 = 1'000.80 etc.
I wrote code but not sure it is good:
function insert(str, index, value) {
return str.substr(0, index) + value + str.substr(index);
}
function convert(n) {
n = n.toString();
var length = n.length;
if (length < 4) {
n = insert(n, length, '.00');
} else if (length === 4) {
n = insert(n, 1, "'");
n = insert(n, length + 1, '.00');
} else if (length > 4) {
var floatFlag = false;
if (n.indexOf('.') > -1 || n.indexOf(',') > -1) {
floatFlag = true;
n = n.replace(/,/g, '.');
}
var thouthandNumer = n / 1000;
thouthandNumer = thouthandNumer | 0;
n = n.replace(thouthandNumer, thouthandNumer + "'");
if (!floatFlag) {
n = insert(n, length + 1, '.00');
}
}
}
var n = 15000
convert(n); //return 15'000.00
How can I convert strings in correct way? Thanks for help.