添加到数据库时未获取小数点值。它会自动四舍五入到最接近的数字。
我已经声明为
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;
}
}
}
在 DB 中,它的数据类型是 Decimal(18,0)。
最佳答案
Decimal(18,0)表示小数点右边存储0位。
关于c# - 如何在数据库中存储十进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17140644/