2016-11-24 168 views
-1

在我的应用程序中,对于货币分析,我必须处理7,6格式的数字。小数点前7位数字,小数点后6位数字。 例子: 1234567.123456如何为数据表中的列设置小数精度最多6位数?

我从用户获得汇率和发送它通过C#代码到后端。我已经使用以下数据表来存储费率并将其发送给SP。

DataTable structureTable = new DataTable("CurrencyAnalysis"); 
    structureTable.Columns.Add("CurrentYearRate", typeof(decimal)); 
    structureTable.Columns.Add("PriorYearRate", typeof(decimal)); 

现在,问题是每当我尝试保存小数点后面的6位数字时,只有小数点后面的前两位数字被保存。 即,如果我救1234567.123456,只有123456.12是越来越保存。

它只需要两个精度。如何设置该列的小数精度,以便小数点右侧可以占用6位数?

应用背景:

  • C#网络与HTML5应用程序和AngularJS
  • SQL服务器

回答

0

上的SQL Server你有这3个选项数据类型:

浮点数 - 32位(7个位数)

十进制 - 128位(28-29显著位)

检查,如果你选择:decimal(18,2)这可能是为什么你有2位小数。

您也可以将您的号码存储为Float。

1

定义数据库值作为decimal(18,6)的第一个值是(18)的精度和第二(6)是规模,所以(18,6)基本上是18位数字与小数点后6位数字。

相关问题