所以,我正在编写一个加密交易机器人。我可以计算出我可以用BTC购买多少ETH,但你只能以增量值购买ETH。根据硬币的不同,增量范围从1000到0.001。
问题是如果增量为0.001,如何将123.456789向下舍入为123.456,如果增量为10,则如何将123向下舍入为120。
编辑 - 建议的另一个问题是使用固定数量的DP,而这是可变的。
答案 0 :(得分:1)
假设增量值是十,正或负的幂,则算法如下:
以10的幂乘以"移位"小数点的位置乘以等于乘以的幂的位数。这样做可以定位要在小数点后截断的部分。
public static decimal RoundDown(decimal val, decimal pos) {
return pos * Math.Truncate(val / pos);
}
请注意,此方法适用于高于和低于1的增量。当增量为10时,除以产量12.3456789,截断产生12,再乘回产生所需的值120.
答案 1 :(得分:0)
你可以使用楼层:
var h = $('.expert').height();
$('.expert .col-sm-6 div').height(function (index, height) {
return (h);
});
使用
Math.Floor(originaValue / increment)
给出您可以花费的“加密单位”的数量,然后乘以增量以得到“加密单位”的总数。