使用逗号作为小数点分隔符

时间:2020-02-07 07:30:48

标签: c# double

用户从客户端插入一个双精度数字,唯一的规则必须是,如果该数字带有“点”,则必须以逗号进行转换。问题是,当我通过AJAX将带有逗号作为分隔符的数字传递给控制器​​时,控制器中的参数double无法读取该值,并且崩溃。这就是我必须将参数字符串放入控制器以便它可以读取值的原因。

var pesoArticolo = $("#editPesoArticoloTextBox").val();
pesoArticolo = pesoArticolo.replace(".", ",");
[HttpGet]
public JsonResult ProcessEditPesoArticolo(int idArticolo, string pesoArticolo)
{           
  var pesoArticoloDouble = double.Parse(pesoArticolo, CultureInfo.InvariantCulture);
}

控制器中的问题是我找不到将分隔符转换为“逗号”的任何方法。 CultureInfo.InvariantCulture还具有以下问题:如果数字为0,067,它将删除所有前导零并变为67。

有什么解决办法吗?我需要使用逗号作为分隔符,因为它必须保存到数据库(浮点型字段)中,该数据库也可以由另一个使用逗号作为分隔符的软件读取。

1 个答案:

答案 0 :(得分:0)

您将需要使用以逗号作为小数点分隔符的区域性(例如-对于德国为“ DE-de”)

[HttpGet]
public JsonResult ProcessEditPesoArticolo(int idArticolo, string pesoArticolo)
{           
  // replace DE-de with your own culture
  var pesoArticoloDouble = double.Parse(pesoArticolo, new CultureInfo("DE-de"));
}

https://dotnetfiddle.net/cuTggE