abolk:
0.02*4.9=0.098 -- 不是0.98
以小数点后2位的格式输出 -- 0.098将根据四舍五入的规则输出为0.10
如果输出是3位数的格式 -- 将打印整数。
谢谢,我纠正了这些数字。
这就是问题所在,你必须在小数点后取2位数。:)为什么它是圆的?如何取一个没有四舍五入、小数点后只有2位的小数(0.09)?
WePlexus:
将其转换为字符串,并获取数字的数量
谢谢你,纠正了数字。
这就是问题所在,你必须取两个小数位。:)为什么它是圆的?如何取一个没有四舍五入、小数点后只有2位的小数(0.09)?
WePlexus:
谢谢你,纠正了数字。
这就是问题所在,你必须取两个小数位。:)为什么它是圆的?如何取一个没有四舍五入、小数点后只有2位的小数(0.09)?
int a=int(0.098/0.01); double b=a*0.01; Comment(DoubleToString(b,2));
sanyooooook:
把它翻译成一个字符串,并取得你想要的字符数。
你不知道一个更简单的方法吗?
把它翻译成一个字符串,并取得你想要的字符数。
Vinin:
你知道有什么更简单的方法吗?
你能给我一个提示吗?:)
你知道有什么更简单的方法吗?
valeryk:
如果你这样做。
int a=int((0.09*5)/0.01); double b=a*0.01; Comment (DoubleToString (b,2));
输出是0.44,而不是要求的0.45。
WePlexus:
如果你这样做。
输出是0.44,而不是要求的0.45。
int a=int(MathFloor((0.98)/0.001)); double b=a*0.001; Comment(DoubleToString(b,2));
valeryk:
0.098,而不是0.98。:)
int a = int (MathFloor ((0.098) / 0.001)); double b = a * 0.001; Comment (DoubleToString (b, 2));
返回1,希望精确值=0.09。
Vinin:
你知道一个更简单的方法吗?
你知道一个更简单的方法吗?
这是我脑子里蹦出来的第一件事,当然还有更简单的。
它也不复杂,但也许它更慢。
int DIGITS=2; string stroka=DoubleToString(0.09845,8); int P=StringFind(stroka,"."); Print(stroka); stroka=StringSubstr(stroka,0,P+DIGITS+1); Print(StringToDouble(stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000
问候。我需要帮助解决一个问题。
所有函数都返回0.1。虽然(0.02*4.9)=0.098,应该返回0.09。
请告诉我如何获得返回我的计算器的确切数值?:)