这是我的问题(对于en-US):
Decimal.Parse("1,2,3,4") 返回1234,而不是抛出InvalidFormatException.
大多数Windows应用程序(Excel en-US)不会删除千位分隔符,也不会将该值视为十进制数.其他语言也会出现同样的问题(尽管字符不同).
还有其他十进制解析库可以解决这个问题吗?
谢谢!
几个小时以来,我一直在寻找解决此问题的方法,但没有找到任何适合我的方法。
这里我们使用逗号作为小数点分隔符,当我发送一个像“15,50”这样的值时,在我的控制器中,我得到的模型值为“1550”,只有当我发送“15.50”时才有意义。
我涵盖了以下主题,但没有任何效果。
在 Asp.net Core 中将 CultureInfo 设置为具有 . 作为 CurrencyDecimalSeparator 而不是 ,
Aspnet Core Decimal 绑定不适用于非英语文化
我使用ajax发送表单,使用$form.serializeArray()如下:
function getFormData(xform) {
var $form = $('#' + xform);
var unindexed_array = $form.serializeArray();
var indexed_array = {};
$.map(unindexed_array, function (n, i) {
indexed_array[n['name']] = n['value'];
});
return indexed_array;
}
Run Code Online (Sandbox Code Playgroud)
发送:
function PostFormAjax(controller, metodo, params, redir, divacao, reloadgrid) {
if (params != null) {
var formData = new FormData();
var json = $.parseJSON(JSON.stringify(params));
$(json).each(function (i, val) {
$.each(val, function (k, …Run Code Online (Sandbox Code Playgroud)