Bug yang muncul dalam akurasi digital

Penulis:lemon, Dibuat: 2021-07-15 23:39:47, Diperbarui:

Di bawah ini adalah informasi tentang pesanan yang tidak selesai. [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,originalQty:11.6,ClosePosition:false,26063321712,44side:SELLtime,ProtectPrice,Price,TRICE,TRICE,TRICE,TRICE,TRICE,TRICE,TRICE,TRICE,TRICE,

Di atas menunjukkan jumlah pesanan yang dipegang adalah 11.6, tetapi hanya 1,3 yang ditransfer, dan kemudian menjual jumlah yang belum ditransfer lagi. Tapi dua digit srvOrder.Amount - srvOrder.DealAmount dikurangi dan hasilnya 10.299999999999, bukan 10.3 Kesalahan penumpukan presisi yang terjadi di bawah ini

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

Bahasa yang digunakan adalah JavaScript


Lebih banyak

17602119359/upload/asset/185ac34677b649d192c6e.jpg Masalah ini juga muncul di forum, seolah-olah Anda telah mengajukan pertanyaan, dan sekarang sedang berteriak, bertanya bagaimana cara mengatasinya ~

AAA386Jika Anda ingin lebih akurat, beberapa mata uang exchangeinfo panggilan yang salah, membuat ulang array, tambahkan ke dalam

RumputYa, JS dan Python akan mengalami masalah ini.

CrunchSebuah bug akurasi yang menarik: Log ((0.056+0.52)

RumputParameter Bahasa Melayu dapat diatur dengan akurasi

OuroborosBahasa Melayu juga mengalami masalah yang sama, bagaimana caranya?

17602119359Aku akan mencoba Ritz Bay.

lemonJika harga Anda 126.0783 memiliki empat digit, tetapi mata uang ini mungkin hanya mendukung tiga digit, maka itu akan menjadi kesalahan.

RumputSebagian besar akan mengalami masalah, disarankan untuk menyimpan dengan string.

lemonAkurasi dapat disesuaikan, tetapi jika pemotongan akan membeli 10.3 maka pemotongan menjadi 10.2, kesalahan panggilan exchangeinfo tidak terjadi sementara.

lemonMengapa ada bug ini? Database access data juga bermasalah, misalnya 1626332174485 nilai ini disimpan di database, tidak ada masalah melihat nilai di latar belakang dengan perintah Sqlite, tetapi membaca kode keluar nilai ini menjadi seperti 1626332174380, beberapa digit di belakang berubah, database akses angka besar pada dasarnya memiliki masalah ini.