1

jQuery Globalizeプラグインを jQuery 検証と共に使用しています。

有効なスウェーデンの数に対して5.000,00parseFloat 関数が与えるNaN

以下のコード/ライブラリのバグは何ですか?

<script type="text/javascript" src="/Scripts/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="/Scripts/globalize.js"></script>
<script type="text/javascript" src="/Scripts/cultures/globalize.culture.sv.js"></script>
<script type="text/javascript" src="/Scripts/jquery.validate.js"></script>
<script type="text/javascript" src="/Scripts/jquery.validate.unobtrusive.js" ></script>

<script type="text/javascript">

 jQuery(function () {

        Globalize.culture('sv');

        $.validator.methods.number = function (value, element) {

            if (Globalize.parseFloat(value)) { // this gives NaN

                return true;
            }
            return false;
        }
    });
   </script>
4

2 に答える 2

2

あなたは間違った文化を使っていると思います。または、入力番号の形式が間違っています。 http://jsfiddle.net/98sgm/1/

jQuery(function () {
    Globalize.culture('sv');
    alert(Globalize.parseFloat('5.000,00'));
    alert(Globalize.parseFloat('5,000.00'));
 });

そしてカルチャ ファイルからのソース コード:

numberFormat: {
    ",": " ",
    ".": ",",
    negativeInfinity: "-INF",
    positiveInfinity: "INF",
    percent: {
        ",": " ",
        ".": ","
    },
    currency: {
        pattern: ["-n $","n $"],
        ",": ".",
        ".": ",",
        symbol: "kr"
    }
},

編集: 新しいカルチャ ファイルを作成し、numberFormat オプションを次のように設定します。

numberFormat: {
    ",": ".",
    ".": ",",
    negativeInfinity: "-INF",
    positiveInfinity: "INF",
    percent: {
        ",": " ",
        ".": ","
    },
    currency: {
        pattern: ["-n $","n $"],
        ",": ".",
        ".": ",",
        symbol: "kr"
    }
},
于 2013-04-19T09:51:10.693 に答える
0

スウェーデンでは、実際にスペースを千の区切り文字として使用します。私はそれについて本当に良い参考文献を見つけることができません。(私はスウェーデン人で、1 000 000,123 は 1.000.000,123 よりもよく見えます)

次の .NET C# コードの継ぎ目でそれを確認します。

Console.WriteLine(String.Format("'{0}'", System.Globalization.CultureInfo.GetCultureInfo("sv-SE").NumberFormat.NumberGroupSeparator));

また、ウィンドウの [地域と言語] から [追加設定] に移動し、スウェーデン語 (スウェーデン) を選択すると、桁区切り記号がスペースとして表示されます。

そしてオラクルの縫い目は同意します: http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html

于 2013-12-16T12:23:28.750 に答える