The first way to do this is to use JavaScript to convert number numbers to a currency string format (parameters: Keep decimal digits, currency symbols, integer decimal separator, decimal separator)
The second method here is to convert a currency character to a pure numeric string with a simple regular expression, after which you can convert a string to a number
JavaScript Money Format (extended with prototype)
Extend the default number object with a Formatmoney () method:
//Usage:someVar.formatMoney (decimalPlaces, Symbol, ThousandsSeparator, DecimalSeparator)
//Defaults: (2, "$", ",", ".")
Number.prototype.formatMoney = function (places, symbol, thousand, decimal) {
places =!isnan (places = Math.Abs (place s))? Places:2;
Symbol = Symbol!== undefined? Symbol: "$";
thousand = thousand | | ",";
decimal = Decimal | | ".";
var number = This,
negative = number < 0? "-": "",
i = parseint (number = Math.Abs (+number | | 0). ToFixed (places) + "",
j = (j = i.length) > 3? J% 3:0;
return symbol + negative + (J. I.substr (0, J) + Thousand: "") + I.substr (j). Replace (/(\d{3}) (? =\d)/g, "$" + thousand) + (Places. Decimal + math.abs (number-i). ToFixed (places). Slice (2): "");
Here are some examples of conversions:
Default usage and custom precision/symbol:
var revenue = 12345678;
Alert (Revenue.formatmoney ()); $12,345,678.00
alert (Revenue.formatmoney (0, "hk$")); hk$ 12,345,678
//European formatting:
var price = 4999.99;
Alert (Price.formatmoney (2, "?", ".", ",")); ? 4.999,99
//It works for negative values, too:
alert (( -500000). Formatmoney (0, "£")); £-500,000
Currency to number–removing money formatting (filtered with regular expressions)
var price = (12345.99). Formatmoney (); "$12,345.99"
//Remove non-numeric chars (except decimal point/minus sign):
priceval = parsefloat ( Price.replace (/[^0-9-.) /g, ")); 12345.99
This method applies only to the decimal separator, "." pattern, if the decimal separator is "," then the regular expression is/[^0-9-,]/g
do not need to prototype to expand the number of the version:
"/to set it up as a global function:function Formatmoney (number, places, symbol, Thousan
D, decimal) {number = number | | 0; Places =!isnan (places = Math.Abs (places))?
Places:2; Symbol = Symbol!== undefined?
Symbol: "$"; thousand = thousand | |
","; decimal = Decimal | |
"."; var negative = number < 0? "-": "", I = parseint (number = Math.Abs (+number | | 0). ToFixed (places) + "", j = (j = i.length) > 3?
J% 3:0; return symbol + negative + (J. I.substr (0, J) + Thousand: "") + I.substr (j). Replace (/(\d{3}) (? =\d)/g, "$" + thousand) +
(Places. Decimal + math.abs (number-i). ToFixed (places). Slice (2): "");} To create it as a library Method:myLibrary.formatMoney = function (number, places, symbol, thousand, decimal) {/* a s above *///Example Usage:formatmoney (54321); $54,321 Mylibrary.formatmoney (12345, 0, "£"); £12,345
This is the entire article, learn more about JavaScript syntax, you can see: "JavaScript Reference Tutorial," JavaScript Code style guide, and also hope that you support the cloud-Habitat community.