Asp.net core mvc ASP.NET Core 3.1 MVC:在创建模型时将双精度转换为int
我有整数价格,想把它改成双倍。我更改了字段,删除了迁移和表并重新创建。但当我输入5.5时,它变成55。也用decimal进行了测试,它也不起作用。找到了这个,但我不知道它是否相关 型号: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")]
[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;
资料来源: