来源:蜘蛛抓取(WebSpider)
时间:2015-01-21 10:03
标签:
java环境变量设置
双馈风力发电系统控制技术研究_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
5页免费5页1下载券4页1下载券3页¥1.00139页免费142页1下载券31页1下载券26页1下载券14页1下载券13页1下载券
喜欢此文档的还喜欢35页免费79页7下载券100页7下载券10页免费6页1下载券
双馈风力发电系统控制技术研究|介​绍​了​风​力​发​电​的​控​制​相​关
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢这段VBS代码,两个变量的值明明一样,为什么显示不相等_百度知道
这段VBS代码,两个变量的值明明一样,为什么显示不相等
= 29198;a=b的结果"、b的值分别为:&If a=b Then
MsgBox &不相等&a、b的数据类型值分别为,结果却显示不等,".51b = 8878,&End If'&a&".90 + 20319;a;明明什么都相等,什么原因;相等":&Else
MsgBox ",;;&VarType(a)msgbox (a=b);&bmsgbox ",&;&VarType(a)&".61msgbox "
提问者采纳
而那两个数字的小数部分0.61在二进制中是无限循环小数。近似后再计算出的结果计算机中的数据是以二进制保存的,因为它输出需要一个字符串变量,转换成字符串变量的时候误差就被忽略了,当然会与原来的结果有误差,因此计算时候将取近似值来计算,而我们输入的是双精度变量。您也许会问,这是因为MsgBox函数本身的问题,为什么用MsgBox函数输出变量b的计算结果不会带误差值.9和0,您的变量b因为经过运算而来
那只有转换成非Double型再比较才能一致了?
只要去掉Double的误差就可以了,a=29198.51b=19.61b=CDbl(b&&&)MsgBox a=b
连空字符什么意思?
就是类型转换。。连接空字符的作用和CStr是一样的。也可以这样写,不过这样写看上去有点麻烦。b=CDbl(CStr(b))
提问者评价
明白了,谢谢!同时感谢xjnzhidao,可惜只能一人得分。
其他类似问题
vbs的相关知识
按默认排序
其他1条回答
不相等&a=b的结果& & bmsgbox "!a = 29198;a;,自动按照双精度来运算了; & a & ",", "、b的值分别为:&Else
MsgBox ".90 + 20319那是因为你没有为a和b定义数据类型;End If这样就是你要的结果了、b的数据类型值分别为;a.51b = 8878;相等",".61msgbox ",所以系统在运算8878.90 + 20319; & VarType(a)msgbox (csng(a)=csng(b));; & VarType(a) & ":".61时;If csng(a)=csng(b) Then
MsgBox ", ,你会发现不是0,你可以msgbox b-a
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
恶意代码识别研究与实现
下载积分:2000
内容提示:
文档格式:PDF|
浏览次数:1|
上传日期: 07:26:15|
文档星级:
该用户还上传了这些文档
下载文档:恶意代码识别研究与实现.PDF
官方公共微信您现在的位置:&&>>&&>>&&>>&正文
股票公式:vbs公式编写入门
公式:vbs公式编写入门。下面南方财富网的小编为你介绍:vbs公式编写入门。
一、VBS教程:
请参阅Vbs55.chm,里面已经论述得非常详细了,该文件在的主页提供了下载。
提示:在飞狐中使用VBS,大多涉及的是数值运算,先熟悉一些常用语句、基本概念就可以应用了,如循环语句、条件语句,赋值、数组、过程等概念。
VBS较飞狐的强大之处,在于循环,可以解决飞狐公式系统所无法处理的问题,但也有个致使的弱点,由于是VBS解释性语言,因此运行慢,利用VBS设计公式时,应注意使用高效率的算法。
二、VBS接口:
VBS与飞狐公式系统之间,必须通过接口才能交换数据,也就是说,公式系统中的数据不能直接被VBS处理,同样VBS中运行的结果,也不能直接被公式系统使用。
VBS目前提供的接口有:
1、FFL.VarData(“变量名”),传递常量、数组变量数据。
2、FFL.VarStartIndex(“变量名”),传递数组变量有效数值起始位置,若脚本处理过程中不改变变量有效数值起始位,则无须调用。
3、FFL.MsgBox(strMsg),strMsg为字符串变量或常量。
4、FFL.Color(“变量名”),用于指定输出变量的颜色;(可程序实现渐变色)。
5、FFL.LineThick(“变量名”),用于指定指标输出变量的线宽;(可程序实现线宽)。
三、利用VBS设计公式:
VBS脚本语句,必须使用“《%”和“%》”框起来,以便让公式系统能够识别,在一个指标公式中,可以多次调用VBS脚本,即可以有多组由“《%、%》”框起来的脚本。
在公式系统中无法实现而需要调用VBS的实例通常较复杂,为了学习VBS,所举的实例从简单开始,大多可以在原公式系统中实现。
以下通过具体实例,解剖一下VBS设计的公式。
例一:设计一个公式,计算收盘价对应的涨停价位(设为10%)
代码如下:
spj:=
vspj=ffl.vardata(“spj”)
last=ubound(vspj)
for i=0 to last
vspj(i)=vspj(i)*1.1
ffl.vardata(“spj”)=vspj
以下详细解释公式代码:
1、spj:=close--定义一个序列变量spj,其值等于序列收盘价(对日而言,等于从上市首日直到最后一天的一系列收盘价,故名为序列变量)。
接着是一段由“《%”、“%》”框起来的VBS程序代码。
2、vspj=ffl.vardata(“spj”)--将序列变量spj传递到VBS中,其数据放入数组vpj中。有关数组概念,可参阅Vbs55.chm。
这里对数组稍加解释,VBS中的数组,是由一系列元素构成的,本例中为Vspj(0)、vspj(1)。..。..,这里括号中的0、1.。..。.等称为数组的下标,VBS数组下标是从0开始的。其中vbs(0)是数组的第一个元素,对应序列变量的第一个值(即首日收盘价),依此类推,直到最后一个。那么,数组vspj的最后一个元素是哪个?这很重要,因为在涉及相关计算时必须知道。看下一行代码:
3、last=ubound(vspj)--ubound(vspj)是什么东东?查一下Vbs55.chm中的函数部分,原来是计算数组vspj最大下标。本行语句,是把vspj的最大下标的值赋给变量last,也就是说last此后就等于vspj的最大下标值。
4、接着的三行语句是VBS的循环,此处的for.。..。. nexe语句的VBS循环语句中的一种(其余几种循环语句,请自查Vbs55.chm文件中的解说)。循环是起什么作用的?我们来看看,要计算从第一天到最后一天的涨停价位,如果逐条语句来写,大致如下:
vspj(0)=vspj(0)*1.1--把第一天的收盘价vspj(0)乘以1.1,再赋回给vspj(0),运算后vspj(0)就不再等于收盘价,而是原价的涨停价位。
vspj(1)=vspj(1)*1.1--vspj(1)运算后等于第二天的涨停价位。
vspj(2)=vspj(2)*1.1
vspj(last)=vspj(last)*1.1--最后一天的运算。
一共须写last+1条语句,显然效率太低了。这些语句用循环语句来写,只须3条就行了,即
for i=0 to last
vspj(i)=vspj(i)*1.1
解释如下:
for i=0 to last--循环首,让循环变量i从1开始,每次增加递增1循环执行“循环体”,直到i=last时跳出循环。
vspj(i)=vspj(i)*1.1--循环体,这里只有一条语句,可以有多条语句。当i=0时,执行的是vspj(0)=vspj(0)*1.1,随着i的递增,最后一次执行的是vspj(last)=vspj(last)*1.1,共执行last+1次。
next--循环尾,与for配套对应,执行到此处时,跳回到对应的循环首for重新执行。当for语句判断i=last+1时,for语句将会跳出循环,即跳过next,到next的下一条语句。
5、执行完循环后,我们需要的所有运算都完成了,接着要做的是把VBS中的结果送回到飞狐公式系统中。
ffl.vardata(“spj”)=vspj--按字面上通俗理解,本行意思是通过接口ffl.vardata(),让飞狐公式系统中的序列变量spj等于vbs中的数组vspj,即VBS中的数据传递到飞狐公式系统。
6、飞狐公式系统输出spj,注意此时的spj已经不等于原来的序列收盘价了。
通过以上解释,你明白了吗?可以实际动手操作了,不过别急,由于飞狐的VBS尚存在BUG,上述代码运行时会出现非法操作,问题出在vspj(i)=vspj(i)*1.1,直接乘以1.1有问题,待以后飞狐完善后就没问题啦,目前需把代码稍作修改,如下:
spj:=
n=1.1;
vspj=ffl.vardata(“spj”)
‘下面一行,把公式系统中的常量n传到VBS中的变量vn
vn=ffl.vardata(“n”)
last=ubound(vspj)
for i=0 to last
vspj(i)=vspj(i)*vn
ffl.vardata(“spj”)=vspj
上述代码中,有一行以半角单引号“’”开始的VBS注释语句,注释语句不会被执行,仅起注解代码的作用。编写公式时,应养成在适当代码处,插入注释语句的良好习惯。以免将来自己也看不懂代码,更谈不上修改、改进公式代码。
现在开始动手输入并建立以上公式。在飞狐的界面中按Shift+W,调出管理面板,鼠标点正文的“公式”,调出公式管理面板,鼠标右击“技术指标”,建一个新的公式组“VBS学习”,然后鼠标右击“VBS学习”新建一个公式,公式名称“VBS公式1”,然后逐行输入上述公式代码,不要偷懒哟(来个“复制”、“粘贴”最轻松了,但学完就忘),一行一行的从键盘输入,校对无误后,点“确定”保存公式,随便调一个股票的K线,然后键盘输入vbs即从键盘精灵中发现刚才的公式名称,选中它,就可看到你的公式输出的曲线。
练习:
1、用vbs设计一个公式,输出收盘价相对应的跌停价位。
2、用vbs设计一个公式,计算每日的,提示:利用公式系统中的流通盘函数CAPITAL或FINANCE(N),注意这两个函数的单位不同。
更多股票公式:vbs公式编写入门的相关信息请关注南方财富网。
股票入门声明:资讯来源于互联网,属作者个人观点,仅供投资者参考,并不构成投资建议。投资者据此操作,风险自担。
48小时排行WEB程序设计考试习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
49页¥10.007页免费7页免费22页免费2页免费8页免费12页免费4页免费2页免费38页1下载券
喜欢此文档的还喜欢5页免费19页免费9页免费12页1下载券15页1下载券
WEB程序设计考试习题|W​E​B​程​序​设​计​考​试​习​题
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢