Asp.net core mvc ASP.NET Core 3.1 MVC:在创建模型时将双精度转换为int

Asp.net core mvc ASP.NET Core 3.1 MVC:在创建模型时将双精度转换为int,asp.net-core-mvc,Asp.net Core Mvc,我有整数价格,想把它改成双倍。我更改了字段,删除了迁移和表并重新创建。但当我输入5.5时,它变成55。也用decimal进行了测试,它也不起作用。找到了这个,但我不知道它是否相关 型号: [Table("Items")] public class Item { [Key] public int Id { get; set; } [Display(Name = "İsim")]

我有整数价格,想把它改成双倍。我更改了字段,删除了迁移和表并重新创建。但当我输入5.5时,它变成55。也用decimal进行了测试,它也不起作用。找到了这个,但我不知道它是否相关

型号:

[Table("Items")]
    public class Item
    {
        [Key]
        public int Id { get; set; }

        [Display(Name = "İsim")]
        [Required(AllowEmptyStrings=false, ErrorMessage ="{0} alanı boş bırakılamaz.")]
        [MaxLength(50, ErrorMessage ="İsim 50 karakteri geçemez.")]
        public String Name { get; set; }

        [DataType(DataType.Currency)]
        [Display(Name = "Fiyat")]
        [DisplayFormat(ApplyFormatInEditMode = true)]
        [Required(ErrorMessage = "{0} alanı boş bırakılamaz.")]
        [Range(0.0, Double.MaxValue, ErrorMessage = "Minimum 0 girmelisin.")]
        public double Price { get; set; }

        [Display(Name = "Açıklama")]
        public String Description { get; set; }

        public int? Amount { get; set; }
    }

编辑:通过将以下区域性设置添加到控制器的构造函数来解决:

CultureInfo culture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
资料来源: