StrToDouble,NormalizeDouble,从双精度类型中删除最后一个零

问题描述 投票:0回答:1

我有这个string str = "1.52220";

而且我想以此价格发送订单。我需要将其转换为Double。

因此,当我使用StrToDouble将其转换为double时,它将删除最后一个0并返回此1.5222,并且OrderSend函数不接受该值,因为小数点后的位数未标准化,因此返回130错误。 >

所以我尝试了:NormalizeDouble(StrToDouble(str), digits),但是也没有用,没有加最后一个零。

我正在使用此功能为符号计算数字:

int digits = (int)MarketInfo(symbol, MODE_DIGITS);

此示例为5。

double price = NormalizeDouble(StrToDouble(str), digits);

然后价格值为1.5222而不是1.52220。

是否有某种方法不删除最后一个零?还是问题出在其他地方?

或者我必须检查字符串str中的最后一个字符是否为零,然后将其替换为1,那么就可以了。谢谢。

我有这个字符串str =“ 1.52220”;我想以这个价格发送订单。我需要将其转换为Double。因此,当我使用StrToDouble将其转换为double时,它将删除最后一个0并返回此1 ....

type-conversion format double mql4 normalize
1个回答
0
投票

问题不是最后一个零。

© www.soinside.com 2019 - 2024. All rights reserved.