2016-11-24 149 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位數字。

相關問題