use*_*387 2 decimal sql-server-2008 asp.net-mvc-3
我有一个采用纬度和经度的模型,但由于某种原因,当创建模型时,它会将纬度/经度四舍五入到小数点后2位而不是保存整个值,例如-81.39522999999997保存为-81.39000000000000我该如何修复这个?
我的模特是
public decimal? longit { get; set; }
Run Code Online (Sandbox Code Playgroud)
观点是
@Html.HiddenFor(model => model.longit, new {@Value = "-81.39522999999997" })
Run Code Online (Sandbox Code Playgroud)
我的MSSQL保存为longit Decimal(16,14)
快速问题16,14表示左侧2位数字,右侧14位数字,如果我的经度为103.39522999999997,是否会出错?因为它是(16,13)这是我第一次使用小数..
嘿大家我学会了怎么做......万一你想过这样做
您需要转到初始化实体表的Context类.
public DbSet relistings {get; 组; 看起来类似于那么你编写这段代码
public class mycontext : DbContext
{
public DbSet<relisting> relistings { get; set; }
//this is the code you write
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<relisting>().Property(x => x.latit).HasPrecision(16, 14);
modelBuilder.Entity<relisting>().Property(x => x.longit).HasPrecision(16, 14);
}
//ends here
}
Run Code Online (Sandbox Code Playgroud)在恢复上市的是模型小数是那么的名字offcourse在x => x.mydecimal是你再想小数酒店精度你把你想如何准确的东西要.作品链接才可魅力