La première méthode ici consiste à utiliser JavaScript pour convertir le numéro de nombre en format de chaîne de devise (paramètres: préserver les décimales, les symboles de devise, la partie entière des milliers séparateurs, séparateurs décimaux)
La deuxième méthode ici consiste à convertir des caractères de devise en chaînes numériques pures avec une expression régulière simple, puis vous pouvez convertir la chaîne en nombre numérique.
Format de l'argent JavaScript (étendre le numéro avec le prototype)
// étendez l'objet de numéro par défaut avec une méthode FormatMoney (): // usage: someVar.formatMoney (decimalplaces, symbole, milleseparator, decimalseparator) // par défaut: (2, "$", ",". ") Numéro.prototype.formatmoney = function (lieux, symbole, mille)) ? lieux: 2; symbole = symbole! == Undefined? Symbole: "$"; des milliers = milliers || ","; décimal = décimal || "."; Var nombre = ceci, négatif = nombre <0? "-": "", i = parseInt (nombre = math.abs (+ nombre || 0) .tofixed (lieux), 10) + "", j = (j = i.length)> 3? J% 3: 0; Symbole de retour + négatif + (j? i.Substr (0, j) + milliers: "") + i.Substr (j) .replace (/ (/ d {3}) (? = / d) / g, "$ 1" + mille) + (lieux? Decimal + math.abs (nombre - i) .tofixed (places) .slice (2): "");};Voici quelques exemples de conversion:
// Utilisation par défaut et précision / symbole personnalisé: Var Revenue = 12345678; alert (revenue.formatMoney ()); // 12 345 678,00 $Alert (revenue.formatmoney (0, "hk $")); // HK 12 345 678 $ // Formatage européen: Var Price = 4999.99; alert (Price.formatMoney (2, ",". ",", ")); // .999,99 // il fonctionne pour des valeurs négatives, aussi: alerte ((- 5000000) .formatmoney (0," £ ")); // £ -500,000
Devise vers le numéro de mise en forme monétaire (filtre avec des expressions régulières)
var prix = (12345.99) .formatMoney (); // "12 345,99 $" // supprimer les caractères non numériques (sauf point décimal / signe moins): PriceVal = parsefloat (prix.replace (/ [^ 0-9 -.] / G, '')); // 12345.99
Cette méthode n'est utilisée que dans le motif où le séparateur décimal est "." Si le séparateur décimal est "," alors l'expression régulière est / [^ 0-9 -,] / g
Versions qui n'utilisent pas de prototype pour étendre le numéro:
// Pour le configurer en fonction globale: Fonction FormatMoney (nombre, lieux, symbole, milliers, décimal) {nombre = nombre || 0; lieux =! isnan (lieux = math.abs (lieux))? lieux: 2; symbole = symbole! == Undefined? Symbole: "$"; des milliers = milliers || ","; décimal = décimal || "."; var négatif = nombre <0? "-": "", i = parseInt (nombre = math.abs (+ nombre || 0) .tofixed (lieux), 10) + "", j = (j = i.length)> 3? J% 3: 0; Symbole de retour + négatif + (j? i.Substr (0, j) + milliers: "") + i.substr (j) .replace (/ (/ d {3}) (? = / d) / g, "$ 1" + mille) + (lieux? Decimal + math.abs (numéro - i) .tofixed (places). Méthode: myLibrary.formatMoney = fonction (nombre, lieux, symbole, milliers, décimal) {/ * comme ci-dessus * /} // Exemple utilisation: formatMoney (54321); // 54 321MyLibrary.FormatMoney (12345, 0, "£"); // 12 345 £Ce qui précède est l'intégralité du contenu de cet article. Pour plus d'informations sur JavaScript, vous pouvez consulter: "JavaScript Reference Tutorial" et "JavaScript Code Style Guide". J'espère également que tout le monde soutiendra davantage Wulin.com.