无法用逗号(,)保存号码

时间:2017-12-13 02:56:05

标签: c#

我收到错误3,400.00 is not a valid value for Decimal.

SQL数据类型

decimal(18, 2)

代码

 public ActionResult _UpdatePrograms(String trainings, int id){
   JavaScriptSerializer jss = new JavaScriptSerializer();
   string[] sep = new string[] { "|" };
   String[] ec;
   ec = trainings.Split(sep, StringSplitOptions.None);
   Program training = jss.Deserialize<Program>((string)ec[0]);  //-- In this I got an error like I said above
 }

如何将值保存在用户输入的上方?如果删除逗号( , ),则保存数据没有问题。

3 个答案:

答案 0 :(得分:3)

尝试将“3,400.00”解析为十进制。

示例:

string testString = "3,400.00";
decimal x = decimal.Parse(testString);

答案 1 :(得分:3)

您可以使用CultureInfo.InvariantCulture的分析,小数点使用点.,分组使用逗号,

decimal dec = decimal.Parse("1,200,800.05", CultureInfo.InvariantCulture);

注意:传递CultureInfo可确保Parse将逗号和点一致处理为您在问题中使用的格式。顾名思义,它在具有不同文化背景的计算机上保持不变,例如:欧洲,逗号用作小数点。

Demo.

答案 2 :(得分:1)

您可以使用String.Replace()方法来实现您的目标。

例如,您可以执行此操作以删除,

ec[0] = ec[0].Replace(",", "");