Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP Net核心十进制输入,带句点转换为整数_C#_Html_Asp.net Mvc_Asp.net Core - Fatal编程技术网

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
,您会看到什么