DB : SQL Server 2000
因為一些資料需要運算 到小數點下15位左右
想到精確度問題 所以打算用DECIMAL
但發現DECIMAL有點奇妙
DECLARE @A DECIMAL(38, 30)
SET @A = 0.11111111111111111111
SELECT @A / 5
=> 0.022222222222222222222000000000
DECLARE @A DECIMAL(38, 30)
SET @A = 0.11111111111111111111
SELECT @A / 5.000000000000000000000
=> 0.022222222
不太懂為何會有這樣的差異!?
另外
DECLARE @A DECIMAL(38,30)
DECLARE @B INT
SET @A = 0.11111111111111111111
SET @B= 5.0000000000000000000
SELECT @A / @B
=> 0.022222222222222222222000000000
DECLARE @A DECIMAL(38,30)
DECLARE @B DECIMAL(38,30)
SET @A = 0.11111111111111111111
SET @B= 5.0000000000000000000
SELECT @A / @B
=> 0..022222
這更不能理解了...XDDD
想請問有沒有人能稍微解釋一下
如果真的需要用到小數點以下15位去做運算 (包含加減乘除) 該怎麼處理比較適當?
--
◢ █◣ ◢◢◣ ◢◣◥████
◢███◣ ◢ ◣ █╴█╴█ ████
███▉█ ◢█◢ ◣◢ ██ ≡███≡ ◥█
███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥█﹋█◤ ◎ █
█▇▇▇◤ █▉█ █▇▇ █▇▏ ▉▇▇ █▉█ ██ ▉▉█▏▏/ ◢█
██▇▏◣ █▇█ ▇▇█ ██▏ ███ █▇█▎██ █▉▉█▏▏█ rushcat
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.128.113