JS はカンマで区切られた数値をフォーマットし、小数点以下 2 桁を保持します_JavaScript スキル

WBOY
リリース: 2016-05-16 17:19:42
オリジナル
1855 人が閲覧しました

例:
12345 は 12,345.00 としてフォーマットされます。
12345.6 は 12,345.60 としてフォーマットされます。
12345.67 は 12,345.67 としてフォーマットされます。
小数点以下 2 桁のみを残します。
帰ってきたら、書式設定関数を書きました。小数点以下の桁数を制御し、自動的に四捨五入することができます。 コードは次のとおりです。

コードをコピー コードは次のとおりです。

function fmoney( s, n) {
n = n > 0 && n s = parseFloat((s "").replace(/[^d.-]/g, "")).toFixed (n) "";
var l = s.split(".")[0].split("").reverse(), r = s.split(".") [1];
t = "";
for (i = 0; i t = l[i] ((i 1) % 3 == 0 && (i 1) ! = l.length ? "," : "");
return t.split("").reverse("") "." 🎜>}


呼び出し: fmoney("12345.675910", 3)、戻り値 12,345.676
関数の復元:


function rmoney(s) {
return parseFloat(s.replace(/[^d.-]/g, "" ));
}


例 (コードを HTML ファイルとして保存し、実行して効果を確認できます):


コードをコピーします コードは次のとおりです:
<SCRIPT> <div class="codebody" id="code66777">function fmoney(s, n) { <br>n = n > ; 0 && n s = parseFloat((s "").replace(/[^d.-]/g, "")).toFixed(n) <br>var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; <br>for (i = 0; i t = l[i] ((i 1) % 3 == 0 && (i 1) != l.length ? " ," : ""); <br>} <br>return t.split ("").reverse().join("") "." r; <br>} <br>function rmoney(s) { <br>return parseFloat(s.replace(/[^d.-]/ g, "")); <br>} <br>function g(id) { <br>return document.getElementById(id); 🎜>} <br>window.onload = function() { <br>var num, txt = g("txt"), txt2 = g("txt2"), btn = g("btn"), btn2 = g ("btn2")、span = g("span"); <br> btn.onclick = function() { <br>num = parseInt(g("num").value); fmoney(txt.value, num); <br>txt2.value(txt2.value, num); <br>btn2.onclick = function() { <br>num = parseInt( "num").value); <br>span.innerHTML = "<br> fmoney(txt.value) rmoney(txt2.value), <br>}; 🎜></SCRIPT>
小数点:


span id="span">





添付:




コードをコピーします


コードは次のとおりです:

/*
* formatMoney(s,type)
* 機能: 金額をカンマで千単位に分割します
* パラメーター: s、書式設定する必要がある金額の値
* パラメータ: type、書式設定された金額に小数点以下の桁が必要かどうかを決定します。
* 戻り値: 書式設定された数値文字列を返します。
*/
function formatMoney(s, type) {
if ( /[ ^0-9.]/.test(s))
return "0";
if (s == null || s == "")
return "0" >s; = s.toString().replace(/^(d*)$/, "$1.");
s = (s "00").replace(/(d*.dd)d*/ , " $1");
s = s.replace(".", ",");
var re = /(d)(d{3},)/;
while (re.test( s))
s = s.replace(re, "$1,$2");
s = s.replace(/,(dd)$/, ".$1"); == 0) {// 小数点以下の桁なし(デフォルトは小数点以下の桁あり)
var a = s.split(".")
if (a[1] == "00") {
s = a[0];
}
}
return s;
}
/*
* 一般的な DateAdd(interval,number,date) 関数: 実装 日付加算関数
* パラメータ: 追加する時間間隔を示す文字列式。 パラメータ: 追加する時間間隔の数を示す。
*戻り値: 新しい時刻オブジェクト。var now = new Date(); var newDate = DateAdd("day",5,now);
* author:devinhua(○から開始) update:2010 -5-5 20:35
*/
function DateAdd(interval, number, date) {
if (date == null)
return "";
switch (interval) {
case "day" :
日付 = 新しい日付 (日付);
日付 = 数値 * 24 * 60 * 1000;
日付 = 新しい日付 (日付); 🎜>return date;
break;
return "";
}

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート