我想从ASP.NET MVC 4中将3位小数值保存到SQL Server 2005

时间:2013-04-19 08:02:27

标签: sql asp.net-mvc-4

我必须在SQL Server 2005中设置3位小数。我可以只从模型部分设置它.But在sql server中,Salary的数据类型是十进制的。

当我设置为

public decimal Salary { get; set; }

它希望保存数据库,如21000.000而不是21000.如果我输入30000.75,那么它将被保存到30000.750。

2 个答案:

答案 0 :(得分:2)

解决问题的最简单方法是将Salary数据类型设置为decimal(18, 3)。因此,即使您插入值30000.75123,也只会保存前三个十进制数字 - 30000.750。如果插入整数21000,则数据库中的值将为21000.000

答案 1 :(得分:0)

即使我遇到这个问题,在发送到数据库之前你可以做的一件事就是你必须将值转换成3个小数位。你可以通过 -

来做到这一点
txtsalary.Text = String.Format("{0:0.000}", Salary);

decimal Salary ;

if (Decimal.TryParse(txtsalary.Text, out Salary )) // Returns true on valid input, on top of converting your string to decimal.
{
    // ... code that is doing stuff with the decimal value ...

    txtsalary.Text = String.Format("{0:0.000}", Salary );
}
else
{
    // do your error handling here.
}