我在我的庫存數據庫中有2個值。一個是QtyOnHand(浮動),另一個是對該項目的所有庫存交易的計算(認爲SUM(TransQty)
,其中transQty也是浮動)。問題是,隨着時間的推移,出於未知的原因,其中一些值不同步。所以現在我正在嘗試清理它們。SQL使用長浮點數的數學問題,算術
基本上,我正在使用QtyOnHand(我們聲明爲準確),並從中減去交易總數。然後針對差異對交易進行更正。這很有效,直到我們得到大量「十進制灰塵」的數字。此外,即使在實際值更像0.0000000000000000237
的情況下,float也顯示0
。
以下是一些我無法糾正的數據。
用科學記數法的項目是給我找麻煩。即使是顯示項目PLXL-105-H(顯示-18,-18)的行顯示不準確,因爲我的查詢只返回1%不匹配之外的值。我一直在使用TSQL,它是否有助於操縱C#程序中的值?
所以,這是我的問題:我應該如何處理這些數字?我試過將它們轉換爲DECIMAL(38,38),但那給了我算術溢出。我需要獲得表示差異的準確值,然後使用該值來平衡事情。
現實生活中的精確度是什麼意思? – Randy
@蘭迪 - 沒什麼,我們工作的最小單位是.1(1/10)。 – MAW74656
當您的當前值的絕對值小於1時,您是否可以將transbal更新爲零? – Randy