인벤토리 데이터베이스에 2 개의 값이 있습니다. 하나는 QtyOnHand (float)이고 다른 하나는 해당 항목에 대한 모든 재고 트랜잭션을 계산하는 것입니다 (transQty도 float 인 SUM(TransQty)
으로 생각하십시오). 문제는 알 수없는 이유로 시간이 지남에 따라 이러한 값 중 일부가 동기화되지 않습니다. 그래서 지금 나는 그들을 청소하려고하고있다.SQL long float numbers로 작업하는 데 문제가 있습니다.
기본적으로 QtyOnHand (정확한 것으로 선언 함)를 가져 와서 거래 합계를 뺍니다. 그런 다음 차이에 대한 트랜잭션을 수정 입력하십시오. 이것은 "십진법 먼지"가 많은 숫자를 얻을 때까지 훌륭합니다. 또한 실제 값이 0.0000000000000000237
인 경우에도 float은 0
으로 표시됩니다.
여기는 문제를 해결하는 데 도움이되는 데이터가 있습니다. 과학적 표기법
항목은 나에게 문제를주고있다. 내 쿼리가 1 % 불일치 밖에있는 값을 반환하기 때문에 -18, -18을 나타내는 PLXL-105-H 항목을 나타내는 행까지도 정확하게 표시되지 않습니다. TSQL에서 전적으로 작업 해 왔지만 C# 프로그램의 값을 조작하는 데 도움이됩니까?
여기 내 질문이 있습니다.이 숫자는 어떻게 처리해야합니까? 나는 그들을 십진수 (38,38)로 변환하려고 시도했지만 산술 오버플로가 발생합니다. 그 차이를 나타내는 정확한 값을 구해야하고 그 값을 사용하여 균형을 맞추어야합니다.
실생활에서 그 정확도는 무엇을 의미합니까? – Randy
@ Randy-Nothing, 우리가 작업하는 가장 작은 단위는 .1 (1/10)입니다. – MAW74656
현재 값의 abs가 1보다 작 으면 transbal을 0으로 업데이트 할 수 있습니까? – Randy