添加到db时未获得小数点值。它会自动四舍五入到最接近的数字。

我宣布为

 public Decimal Amt { get; set; }


在我的主要模型中

public int Add(Decimal Amt)
        {
            using (SqlConnection con = new SqlConnection())
            {
                con.ConnectionString = CONNECTION_STRING;
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandText = "INSERT INTO ledger(Amt)VALUES(@AMT)";
                    cmd.Parameters.AddWithValue("@AMT", Amt);
                    int modified = cmd.ExecuteNonQuery();
                    if (con.State == System.Data.ConnectionState.Open) con.Close();
                    return modified;
                }
            }
        }


在数据库中,其数据类型为Decimal(18,0)。

最佳答案

Decimal(18,0)表示存储在小数点右边的0位数字。

资料来源:http://msdn.microsoft.com/en-us/library/ms187746.aspx

关于c# - 如何在数据库中存储十进制值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17140644/

10-13 03:11