我試圖用double來表示在數據庫中的雙值類型的位,有時必須接受兩個值,有時只接受一個(int)。分裂兩個雙,C#
等等領域是數據庫中的浮動,在我的C#代碼,它是一個雙(因爲通過EF映射它使雙出於某種原因...)
所以基本上我想要什麼要做..讓我們說2.5是價值。我想把它分成2和5.有沒有什麼隱含的方法可以解決這個問題?
我試圖用double來表示在數據庫中的雙值類型的位,有時必須接受兩個值,有時只接受一個(int)。分裂兩個雙,C#
等等領域是數據庫中的浮動,在我的C#代碼,它是一個雙(因爲通過EF映射它使雙出於某種原因...)
所以基本上我想要什麼要做..讓我們說2.5是價值。我想把它分成2和5.有沒有什麼隱含的方法可以解決這個問題?
像這樣:
int intPart = (int)value;
double fractionalPart = value - intPart;
如果你想fractionalPart
是一個int
,您可以10 ñ,其中n
是你想要的數字投給int
的數量,乘以。
但是,要小心精度損失。
然而,這是非常糟糕的設計;你應該可以做兩個領域。
SQL Server的float
類型是一個8字節的浮點值,相當於C#的double
。
你應該能夠隱式類型轉換雙爲int以獲得第一部分和減去從數然後乘以十要第二部分
爲什麼要嘗試那個,而不是僅僅使用兩列? – Svish 2010-05-25 19:08:25
這有點難以解釋...但基本上所給出的數據可能會或可能不會分佈在兩列之間,並且在數據庫級別無法確定它。每次使用數據時都是動態的。 – Ciel 2010-05-28 20:10:25