0
我明白float and real are:Real和浮點數的小數長度和準確性
近似數數據類型與浮點數字 數據使用。浮點數據是近似的;因此,不是所有的值都可以精確地表示數據類型範圍 。
然而,在下面的例子:
Q1:爲什麼'浮動()'(即;真實)給出更小數比「浮動( )'還不夠準確?
Q2:如何存放@s在許多領域,因爲它是不四捨五入?
declare @s varchar(50) = '34.770438199999944'
select convert(float(24), @s) real_, convert(float(53), @s) float_
Results(括號內是使DIFF更清晰)
| real_ | float_ |
------------------------------------
| 34.77043(9147949) | 34.77043(82) |
你能解釋一下'精度較低,因爲它有較少的數據來存儲數字'?是關於浮動還是真實? – Kaf 2013-02-27 16:31:50
那麼..每個數字或者是浮點數都表示在多個位上。例如1個字節= 8位。它可以保存0到255之間的數字(2^8個數字)。如果你去2個字節的數字,你會有2^16等等。使用浮點數的推理是相似的,但數字不是按原樣存儲的,而是以2位數字的形式存儲的:有效數字和指數。有了這2,你可以近似一個非常大的數字範圍。現在float和real用不同的字節數表示。具有更多字節來存儲其中的2個數字的浮點可以更準確地保存數據。 – 2013-02-27 17:08:34