Một lỗi về độ chính xác số của đồng xu

Tác giả:chanh, Tạo: 2021-07-15 23:39:47, Cập nhật:

Dưới đây là thông tin về các đơn đặt hàng không hoàn thành [{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,26063321712,44side:Strapworking,CONTRICETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIMETIME

Ở trên là số lượng đơn hàng bị treo là 11.6, nhưng chỉ có 1.3 đơn hàng được giao dịch và sau đó bán lại số lượng chưa giao dịch Tuy nhiên, khi cộng ra hai số srvOrder.Amount - srvOrder.DealAmount, chúng ta có 10.2999999999, chứ không phải là 10.3. Điều này dẫn đến các lỗi tràn độ chính xác sau đây:

Bán ((8.054, 10.299999999999): 400: {code:-1111,msg:Precision is over the maximum defined for this asset.}

Ngôn ngữ sử dụng là JavaScript


Thêm nữa

17602119359/upload/asset/185ac34677b649d192c6e.jpg Vấn đề này cũng xuất hiện trên diễn đàn, như thể bạn đã đặt ra vấn đề, đang bị bắt nạt, hỏi làm thế nào để giải quyết ~

AAA386Các cuộc điều tra sẽ được điều chỉnh chính xác hơn, một số cuộc điều tra thông tin trao đổi tiền tệ là sai, hãy tạo lại mảng, thêm vào

Cỏ nhỏCó, js và python đều gặp phải vấn đề này.

ctruiMột lỗi chính xác thú vị: Log ((0.056+0.52)

Cỏ nhỏBạn có thể cài đặt độ chính xác trong các thông số ngôn ngữ tiếng Anh

OuroborosNgôn ngữ Ma cũng gặp phải vấn đề tương tự, hãy hỏi làm thế nào để giải quyết nó.

17602119359Đáng yêu, cảm ơn. Tôi sẽ thử.

chanhVí dụ, giá của bạn là 126.0783 có bốn chữ số, nhưng đồng tiền này có thể chỉ hỗ trợ tối đa ba chữ số, đó là sai, đề nghị xem số chữ số của đồng tiền này là bao nhiêu chữ số trên ứng dụng và sử dụng hàm _N( để cắt.

Cỏ nhỏNhiều người sẽ gặp vấn đề, nên lưu bằng chuỗi.

chanhĐộ chính xác có thể được điều chỉnh, nhưng nếu bạn đã mua 10.3 thì bạn sẽ được điều chỉnh thành 10.2, lỗi gọi exchangeinfo không xảy ra trong thời gian này.

chanhTại sao lỗi này xuất hiện? Các dữ liệu truy cập cơ sở dữ liệu cũng có vấn đề, ví dụ như 1626332174485 được lưu trữ trong cơ sở dữ liệu, không có vấn đề với lệnh Sqlite để xem số liệu trong nền, nhưng đọc mã ra nó sẽ trở thành như 1626332174380, một vài chữ số sau đó đã thay đổi, cơ sở dữ liệu truy cập số lượng lớn về cơ bản có vấn đề này.