我正在使用 jQuery Globalize插件以及 jQuery 验证。
对于有效的瑞典数字 5.000,00
parseFloat 函数给出 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>
最佳答案
我认为您使用了错误的文化。或者您输入的号码格式错误。 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"
}
},
关于javascript - parseFloat 为瑞典文化提供 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101558/