在c#中小数点后生成零

时间:2018-06-05 08:59:34

标签: c# sql-server decimal division

我正在使用c#

中的代码
obj.value = decimal_value / 100;

obj.value是模型中的decimal变量

decimal_value是一个包含decimal值的变量

C#代码

if (member["LOADINGS"] != "")
{
    decimal loading_temp = Convert.ToDecimal(member["LOADINGS"]);
    prem.loadings = loading_temp / 100m;
}

调试时prem.loading获取正确的值0.0952但是当它保存在sql server中时会显示0.09000

在模型中加载变量

public decimal? loadings  {get;set;}

例如:结果

9.52/100给出0.0952但是当它在sql server中存储在数据类型decimal(18,5)的列中时,它会得到结果0.0900

对此有何想法?

修改

保存在数据库中

premium prem = new premium();
 if (member["LOADINGS"] != "")
    {
        decimal loading_temp = Convert.ToDecimal(member["LOADINGS"]);
        prem.loadings = loading_temp / 100m;
    }

db.premium.add(prem);
db.savechanges();

1 个答案:

答案 0 :(得分:0)

在SQL Server中:

declare @v decimal(18,5)

select @v = 9.52/100

select @v

返回0.09520