以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  NUMTOSTR函数疑问  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=139738)

--  作者:zqs0595
--  发布时间:2016/9/19 14:44:11
--  NUMTOSTR函数疑问

cs:=NUMTOSTR(changeSecond,0);

changeSecond的入参变量是60,结果CS的打出来的结果却是1000000.000,我只是想把数字变成字符串而已.


--  作者:jinzhe
--  发布时间:2016/9/19 14:49:20
--  

你用的是数字型输出方式,所以才会出来1000000

要用这样的方式

drawtext(islastbar,close,cs);

这样才能输出


--  作者:zqs0595
--  发布时间:2016/9/19 15:00:28
--  

我转成字符串是为了后面的函数STKINDI(\'\',\'getSecondHHV.c1(\'&cs&\')\',0,22,1); 可以把CS作为入参传进去的,可是却转换错了,你写的drawtext是在图表上打出文字,像我这样的需求该怎么实现呢?


--  作者:jinzhe
--  发布时间:2016/9/19 15:10:14
--  

并没有转换错,输出结果是10000000就如我上面所说,是因为数据类型的问题。NUMTOSTR(changeSecond,0); 这句代码的作用把数字型数据转换成字符型数据,然后带入到stkindi函数里面做参数计算。你错就错在用数字型数据的输出方法输出字符型数据,所以才会出现输出为10000000的结果。字符型数据的输出方式就是我上面给的

 

你参考下这样的代码

changesecond:=5;

cs:=NUMTOSTR(changeSecond,0);

STKINDI(\'\',\'getSecondHHV.c1(\'&cs&\')\',0,22,1);