Alexandr Sokolov: 是的,我的变体可能不是最好的,但由于我以前从未发现过有关它的东西,这是我自己想出的最好的,我在上面评论过,而你没有提出你自己的变体。
我比较了这些变体。
int ds(double v){
string s=(string)v;
int l=StringLen(s);
int n=l-StringFind(s,".",0)-1;
if(StringSubstr(s,l-1,1)=="0")n--;
return(n);
}
int d(double x){
int n;
for(n=0;n<8;n++){
if(x==NormalizeDouble(x,n)){
return(n);
}
}
return(n-1);
}
我说的根本不是这个意思。将一个dule转换为一个字符串,然后就可以计算字符串中的字符,这种想法完全是无稽之谈。无论你做什么。
这有什么大不了的?到目前为止,这个选项是最快、功能最强、保证正确的。你有什么选择?
是的,我的变体可能不是最好的,但由于我以前从未发现过有关它的东西,这是我自己想出的最好的,我在上面评论过,而你没有提出你自己的变体。
我比较了这些变体。
字符串变体的速度稍快,而且它不像d()那样限制在8位数。而对正确性的保证是通过终端显示数字的方式来计算的。
我选择了转换为字符串的变体。
这有什么大不了的?到目前为止,这个选项是最快、最实用的,保证是正确的。你有什么选择?
你能说出至少一个应用上述算法的案例吗?
你能说出至少一个应用上述算法的案例吗?
有一种情况是交易面板在文本字段中以正确的小数位数 输出手数。这是唯一的情况。
有一种情况是交易面板在文本框中以正确的小数位数 输出手数。这是唯一的情况。
也就是说,如果是1手,它输出 "1",如果是0.01手,它输出 "0.01"?
所以它在1手的情况下输出 "1",在0.01手的情况下输出 "0.01"?
并非如此。这取决于最小的地段和地段等级。如果最小手数是0.01,那么1就显示为1.00。
并非如此。取决于最小地段和地段增量。如果最小手数是0.01,那么1就显示为1.00。
O.o.
所以事实证明,你没有使用你的函数,但仍然显示类似DoubleToString(LotSize, <some const value>)的东西,不是吗?
O.o
因此,事实证明,你没有使用你的函数,但仍然输出类似DoubleToString(LotSize, <some const value>)的东西,不是吗?
是的,但你必须知道要输出多少个小数位。
是的,但你必须知道要输出多少个小数位。
换句话说,你是否使用用户输入的min.lot(或lot增量)来确定这个值有多少个小数位,然后保存它来规范未来的值?
所以你根据用户输入的最小手数(或手数增量)确定小数点后有多少个数字,然后保存它以规范未来的数值?
你有什么不明白的?价格有Digits(),而成交量却没有。这是它的计算方式。
为什么你需要量的数字?我们需要价格数字的原因也是如此!