화폐 디스크의 디지털 정확성에 대한 오류

저자:레몬, 2021-07-15 23:39:47에 작성, 업데이트:

아래는 주문이 완료되지 않은 상태에서 반환된 정보입니다. [Info:{symbol:ALICEUSDT,status:PARTIALLY_FILLED,clientOrderId:x-PtW46NoE_20FD0D3794C8F944,executedQty:1.3,cumQuote:10.4819,type:LIMIT,reduceOnly:false,order:708818902,price:8.063,avgPrice:8.0630,orig Qty:11.6,closePosition:false,2606163321712OO44side:Selltime,ProtectTime,Price,Price,Price,ProtectTime,Price,Price,Price,Price,ProtectTime,Price,ProtectTime

상단에는 11.6개의 청탁이 있지만, 단지 1.3개의 청탁만 있고, 그 후에 다시 청탁을 판매하는 것이 표시됩니다. 하지만 두 숫자의 srvOrder.Amount - srvOrder.DealAmount를 빼면 10.299999999999, 10.3가 아닌 10.29999999999가 나오죠. 아래와 같은 정확도 오차 오류가 발생합니다.

판매 (8.054, 10.299999999999): 400: {코드:-1111,msg:정확성은이 자산에 대해 정의된 최대보다 높습니다.}

사용 언어는 자바스크립트입니다.


더 많은

17602119359/upload/asset/185ac34677b649d192c6e.jpg 또한 이 문제가 발생했습니다. 포럼에서 마치 당신이 문제를 제기한 것처럼, 한 얼굴에 괴롭힘을 당하고, 어떻게 해결할 수 있는지 묻습니다.

AAA386분산은 좀 더 정밀해야 합니다. 일부 화폐의 교환 정보 호출은 잘못되었습니다.

초목예, js, 파이썬 모두 이런 문제를 겪습니다.

크루이흥미로운 정확성 버그: Log ((0.056+0.52)

초목메어어 매개 변수에서 정확도를 설정할 수 있습니다.

오로보로스어와 같은 문제도 있습니다. 어떻게 해결할까요?

17602119359강렬합니다. 감사합니다. 제가 시도해 볼게요.

레몬정확도가 넘쳐납니다. 예를 들어, 당신의 가격 126.0783의 소수점은 네 자지만, 이 화폐는 최대 3 자만 지원할 수 있습니다. 그러면 오류가 발생합니다.

초목대부분의 경우 문제가 있습니다. 문자열로 저장하는 것이 좋습니다. 이유는 검색 할 수 있습니다.

레몬정밀도는 조정할 수 있지만, 10.3를 구입했을 때 10.2로 절단할 수 있습니다.

레몬왜 이런 버그가 생기는 걸까요? 데이터베이스에 접근하는 데에도 문제가 있습니다. 예를 들어 1626332174485이라는 값은 데이터베이스에 저장되어 있습니다. 배경에서 Sqlite 명령어를 사용하여 숫자를 보는 것은 문제가 없습니다. 그러나 코드를 읽으면 값이 1626332174380과 같은 값으로 변합니다.