Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中小数点后零的除法#_C#_Sql Server_Decimal_Division - Fatal编程技术网

C# c中小数点后零的除法#

C# c中小数点后零的除法#,c#,sql-server,decimal,division,C#,Sql Server,Decimal,Division,我正在用c语言编写下面的代码# 其中,obj.value是模型中的decimal变量 decimal\u value是一个包含decimal值的变量 C#代码 调试prem.loading时获得正确的值0.0952,但在sql server中保存时显示0.09000 在模型中加载变量 public decimal? loadings {get;set;} 结果 9.52/100给出了0.0952但是当它在sql server中以数据类型decimal(18,5)的列存储时,它给出了结果0.0

我正在用c语言编写下面的代码#

其中,
obj.value
是模型中的
decimal
变量

decimal\u value
是一个包含
decimal
值的变量

C#代码

调试
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();
在SQL Server中:

declare @v decimal(18,5)

select @v = 9.52/100

select @v

返回0.09520

我想在C#中执行此操作…我在C#中得到了.09520,但在保存到sql server时,它变成了.09000。如果您在问题中包含一些代码,可能会出现这种情况。您能告诉我们如何在sql server中存储此代码吗?可能有代码吗?@GuidoG编辑了这个问题,我们需要更多的信息。什么类型的预载?什么是db?db.premium.add做什么?请记住,我们无法看到您的代码。您应该做的是在
prem.Loadings=loading_temp/100=”上设置一个断点
并继续进入,直到看到值发生更改或将其发送到数据库并捕获它发送的确切命令为止
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();
declare @v decimal(18,5)

select @v = 9.52/100

select @v