C# ASP Net核心十进制输入,带句点转换为整数
我有一个输入字段,它的价格在模型中是十进制的C# ASP Net核心十进制输入,带句点转换为整数,c#,html,asp.net-mvc,asp.net-core,C#,Html,Asp.net Mvc,Asp.net Core,我有一个输入字段,它的价格在模型中是十进制的 价格 [数据类型(DataType.Currency)] [列(TypeName=“money”)] 公共十进制价格{get;set;} 当我用逗号发布输入字段时,页面返回一个验证错误, 当我用句号发布时,收到的价格是一个整数。 例如,当我把价格定为7.00时,我在控制器中收到700 nl nl区域性使用逗号作为十进制分隔符。您可以使用此代码覆盖每个请求的当前区域性编号格式 public void Configure(IApplicationB
价格
[数据类型(DataType.Currency)]
[列(TypeName=“money”)]
公共十进制价格{get;set;}
当我用逗号发布输入字段时,页面返回一个验证错误,当我用句号发布时,收到的价格是一个整数。
例如,当我把价格定为7.00时,我在控制器中收到700
nl nl
区域性使用逗号作为十进制分隔符。您可以使用此代码覆盖每个请求的当前区域性编号格式
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.Use(async (context, next) =>
{
var currentThreadCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
currentThreadCulture.NumberFormat = NumberFormatInfo.InvariantInfo;
Thread.CurrentThread.CurrentCulture = currentThreadCulture;
Thread.CurrentThread.CurrentUICulture = currentThreadCulture;
await next();
});
...
}
带句点的ASP Net核心十进制输入变为整数:- 您只需将输入值转换为十进制 可通过以下更改来实现:
收件人:检查小数中是否有逗号或点,并尝试切换到相反的位置。这与当前线程文化有关。我只能将句点作为分隔符插入,但我仍然收到一个整数。7.00=>700您能为我们显示控制器操作标题吗?我用控制器逻辑编辑了帖子如果您在控制器中执行
Thread.CurrentThread.CurrentCulture.Name
,您会看到什么