C# Post请求未通过二进制

C# Post请求未通过二进制,c#,binance,C#,Binance,我发送了购买binance的订单,响应时出现错误: {"code":-1111,"msg":"Precision is over the maximum defined for this asset."} 以下是数量的计算方法: string quanyty = Convert.ToString(Math.Round(Balance()/PriceCTSIBTC(),8));//balance/Price = 10.56738245

我发送了购买binance的订单,响应时出现错误:

{"code":-1111,"msg":"Precision is over the maximum defined for this asset."}
以下是数量的计算方法:

string  quanyty = Convert.ToString(Math.Round(Balance()/PriceCTSIBTC(),8));//balance/Price = 10.5673824567
请求如下所示:

var request = new RestRequest("/api/v3/order", Method.POST);
                request.AddHeader("X-MBX-APIKEY", apikey);
                request.AddQueryParameter("symbol", "CTSIBTC");
                request.AddQueryParameter("side", "BUY");
                request.AddQueryParameter("type", "STOP_LOSS_LIMIT");
                request.AddQueryParameter("timeInForce", "GTC");
                request.AddQueryParameter("quantity", quanyty);
                request.AddQueryParameter("price", price);
                request.AddQueryParameter("timestamp", timestamp);
                request.AddQueryParameter("signature", CreateSignature(request.Parameters, secret));
                request.AddQueryParameter("stopPrice", stopPrice);
                var response = client.Get(request);
起初,我用
Math.Floor()
四舍五入,
然后通过
Math.Round()
实现。错误并没有消失。

您需要对正在交易的交易对使用正确的价格和数量精度。例如,ETHUSD在价格上使用2位小数,在数量上使用5位小数。您可以使用这样的语法按照API所期望的方式格式化数字

"{:0.0{}f}".format(1.2345, 2)

您还可以使用API在
批量大小
过滤器下查找称为
步长
的数量精度。

如果该字段在数据库中定义为数字,则不应将结果转换为字符串,参数2:无法从“十进制”转换为“字符串”请参见以下内容: