JQuery Numberフォーマッター

jquery plugins
JQuery Numberフォーマッター

テキストボックスで、ユーザーが数値などを入力したときにテキストを書式設定します。 1234は1,234.00になります。 コピーペーストを行うときにも機能するはずです。

誰かがこのために良いjqueryプラグインを使用したかどうかをグループから知りたいです。 これはTextboxでのみ必要です。

  0  0


ベストアンサー

あなたが求めていることをするjQueryプラグインをまとめました。 jsFiddleで遊んでください。 ここで破片を分解します。

プラグイン

プラグインは、3桁と10進数の区切り記号、および小数点以下のゼロの数を指定するためのいくつかのオプションを受け入れます。

var defaultOptions = {
    thousands: ',',
    decimal: '.',
    zeroes: 2
};

$.fn.currencyField = function(options) {
    var opts = this.options = $.extend({}, defaultOptions, options);
    this.bind('paste', function(e) { onPaste(e,opts); });
    this.bind('change', function(e) { onChange(e,opts); });
};

こんな感じで使えます

$('input[type=text]').currencyField();

「貼り付け」イベント

jQueryは、コンテンツの貼り付け方法に関係なくトリガーされる、文書化されていない「貼り付け」イベントにバインドします。 残念ながら、入力フィールドにコンテンツが追加される前にイベント自体が発生するため、フィールドのコンテンツをフォーマットする前に短いタイムアウトを設定する必要があります。

function onPaste(evt, options) {
    window["currencyField-target"] = evt.target;
    window.setTimeout(function() {
        $(window["currencyField-target"]).trigger("change");
    }, 10);
}

function onChange(evt, options) {
    if (isFormattableValue(evt.target.value)) {
        evt.target.value = formatValue(evt.target.value, options);
    }
}

数千のフォーマット

これを行う方法はいくつかありますが、それらはすべて、整数を文字列に変換し、文字の順序を逆にし、3文字ごとに区切り文字を挿入し、もう一度順序を逆にすることに大きく依存しています。

function formatThousands(value, separator) {
    var buf = [];
    value = String(value).split('').reverse();
    for (var i = 0; i < value.length; i++) {
        if (i % 3 === 0 && i !== 0) {
            buf.push(separator);
        }
        buf.push(value[i]);
    }
    return buf.reverse().join('');
}

小数点のフォーマット

このプラグインでは、小数点以下に含める文字数は可変なので、数値を文字列に変換し、最初の「n」文字を取得します。 十分な文字がない場合は、ゼロになるまで先頭にゼロを追加します。

function formatDecimal(value, zeroes) {
    value = value || 0;
    value = String(value).substr(0,zeroes);
    zeroes = zeroes - value.length;
    for (zeroes; zeroes > 0; zeroes--) {
        value = value + '0';
    }
    return value;
}

6


Number Format Pluginは次のとおりです。 残念ながら、説明はポルトガル語で表示されます。

0


これはまさにあなたが必要とすることをします:http://scottonwriting.net/sowblog/archive/2011/06/25/creating-a-currency-masked-textbox-with-on-the-fly-currency-formatting.aspx

0


これを試してください、それは私が見つけた最高のプラグインです:

jquery-numberformatter
– ドキュメントは `jquery.numberformatter-1.2.2.js`ファイルにあります。

formatNumber(options, writeBack, giveReturnValue)

サブジェクトから値を読み取り、Javascript Numberオブジェクトに解析してから、渡されたオプションを使用してテキストにフォーマットし直し、サブジェクトに書き戻します。

parseNumber(options)

渡されたオプションを使用して件名の値を数値オブジェクトに解析し、テキストから実際の数値を解読してから、値をテキストとして件名に書き戻します。

” ” ‘

または、これを試してください。 それもよさそうです:

0


タイトルとURLをコピーしました