0

我有一个MVC用 编写的应用程序,C#它将学生宿舍存储在数据库中。学生的 cote 可能是20/20, 11/20,12.3/20

教师必须将此值写入表单输入,然后提交表单。

没有逗号的数字一切正常。但是每次我尝试在表单字段中插入 12.3 时,都会收到以下错误消息:

“值 12.3 对 StudentCot 无效”

我改变了类型StudentCot (decimal, float, double )没有成功。

是否存在带有逗号的数字的表示法数据类型?任何想法?请帮忙,我想要这样的东西

 //...
  //[DataType(DataType.NumberWithComma)]
public float StudentCot{get;set;} 

表字段类型是真实的(sql server)

4

2 回答 2

0

验证使用culture info来自当前的thread. 这可能设置为逗号作为小数点符号。

如果您只接受点作为十进制符号,您可以将应用程序设置为在使用点作为十进制符号的文化下运行。

您可以在每个请求中使用一行代码来做到这一点

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");

或者你可以把它放在 web.config

<globalization uiCulture="en" culture="en-US" />

如果要允许使用点和逗号,则必须将字段设为字符串并在服务器上进行验证和转换。

于 2013-01-31T09:42:16.553 回答
0

当前文化中似乎有“,”的用法/您可以尝试更改 Thread.CurrentThread.Culture 中的文化或更改“。” 到“,”之前发送它来解析

于 2013-01-31T05:35:11.730 回答