2011-06-29 56 views
4

我需要存儲SQLServer 2008 R2貨幣匯率數據。存儲和繪製貨幣匯率

使用此數據的應用程序是用C#開發的。持有貨幣匯率的列將被要求以兩種方式存儲轉換 - 也就是說,我寧願有一個固定的精度但是可變的規模。

什麼數據類型應該在SQL Server上選擇,可以映射到C#避免任何數據丟失?我正在查看MSDN提供的mappings matrix,我似乎無法找到任何可以安全處理的內容。

  • 浮點數(53)可能是一種可能性,但 浮點數是近似值。
  • 錢只精確到十萬分之一 單位

我留下了十進制的。但是這些提供了固定的比例這就是我被難倒的地方:

如果我需要存儲一個像0.0104182這樣的數字,而且還有123.673,我已經建立了一個10的精度作爲我的要求。但是,我應該如何設定一個可以完全適應這種精度的量表?

+1

我已經從來沒有嘗試過,但你可以使用bigint嗎?您必須轉換所有數字(並確保您保留所有數字的相同精度),但它可能是一種快速,簡單,「無損」的存儲和計算值的方式。 –

+0

這將意味着貨幣匯率表上的另一個字段告知bigint其規模。但它肯定會解決我的問題。 –

回答

14

對於匯率我會使用十進制(19,9)左右。

你必須允許 「電話號碼」 利率

例子,以目前的速度1英鎊是

  • 13,835.87699印尼盾
  • 33,016.24786越南盾