0

Visual FoxPro では、テキスト ボックスまたはグリッドで数値を書式設定でき、カンマとピリオドの形式で表示されている場合でも、プログラムでは数値と​​して表示されます。

現在、次のように DataTable Jquery にデータを挿入しています。

oTable.fnAddData( ["Bogus data","1,541,512.52","12.5%","0","0","0"]);

しかし、次のようにデータを入力したいと思いますが、わかりやすくするためにコンマで表示します。

oTable.fnAddData( ["Bogus data",1541512.52,"12.5%","0","0","0"]);

その理由は、この列の行をソートすると、最初の例の文字列が乱雑になるためです。うまくいけば、よく整理されたリストが作成されます。

文字数列の並べ替えを修正する方法について他に提案がある場合は、それを提案してください...

ティア

デニス

4

2 に答える 2

1

データテーブルの作成者による、フォーマットされた数値のソートプラグインの詳細は次のとおりです。

http://www.datatables.net/plug-ins/sorting

「フォーマットされた数値」を参照してください。

このプラグインは、数千の区切り文字、通貨記号、またはその他の非数値データなど、追加のフォーマットを持つ数値列の数値並べ替えを提供します。

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
    "formatted-num-pre": function ( a ) {
        a = (a==="-") ? 0 : a.replace( /[^\d\-\.]/g, "" );
        return parseFloat( a );
    },

    "formatted-num-asc": function ( a, b ) {
        return a - b;
    },

    "formatted-num-desc": function ( a, b ) {
        return b - a;
    }
} );
于 2013-03-06T04:53:10.733 に答える
1

これを行うための迅速で汚い方法があります。

var number = 1541512.52;
var nicelyformattedNumber = number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
oTable.fnAddData( ["Bogus data", nicelyformattedNumber, "12.5%","0","0","0"]);

ソース

于 2013-03-06T04:55:35.407 に答える