mvc3十进制是舍入2位

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)这是我第一次使用小数..

use*_*387 7

嘿大家我学会了怎么做......万一你想过这样做

  1. 您需要转到初始化实体表的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是你再想小数酒店精度你把你想如何准确的东西要.作品链接才可魅力