0
Мне нужно создать функцию, которая принимает строку формата и числовую строку и выводит числовую строку в данном формате.Как я могу форматировать числовую строку с заданным форматом?
var format = "##,###.##";//The format string may vary "###,##.#" etc
var number = "1234.5";
Я хочу, чтобы моя функция для вывода 1,234.50
До сих пор я получил столько
String.prototype.replaceAt=function(index, character) {
return this.substr(0, index) + character + this.substr(index+character.length);
}
String.prototype.insert = function (index, string) {
if (index > 0)
return this.substring(0, index) + string + this.substring(index, this.length);
else
return string + this;
};
function formatString(format,number) {
var numeric = number.split(".")[0];
var decimal = number.split(".")[1];
var numericFormat = format.split(".")[0];
numeric = numeric.split("").reverse().join("");
numericFormat = numericFormat.split("").reverse().join("");
for (var i = 0, len = numeric.length; i < len; i++) {
if(numericFormat[i] === ',') {
numeric = numeric.insert(i, ',');
console.log(numeric);
}
}
numeric = numeric.split("").reverse().join("");
console.log(numeric);
numeric = numeric + "."+ decimal;
return numeric;
}
Но это не так точны? Есть ли лучший способ сделать это в чистом javascript?
Edit: Строка формата может варьироваться "###, ## #." Или "##, ### ###." И т.д.
Возможный дубликат [Javascript Thousand Separator/string format] (http://stackoverflow.com/questions/3753483/javascript-thousand-separator-string-format) – Emissary