【问题标题】:text field greater than or equal to having weird effects in AS3文本字段大于或等于在 AS3 中有奇怪的效果
【发布时间】:2015-12-15 07:13:17
【问题描述】:
我有一个如下所示的触发器集
var thiseffect:Boolean = false;
if (thistx.text >="6" && thistx.text <="12")
{ thiseffect = true; }
在这种情况下触发器不会激活,但是如果我将此触发器中的 12 值更改为低于 10 的值,或者如果我将 6 值更改为大于 10 的值,它将毫无问题地触发
我不确定这是为什么,以前有人遇到过吗?
【问题讨论】:
标签:
actionscript-3
flash
textfield
【解决方案1】:
这并不完全是一个答案,而是一个解决方案
我已将文本输入转换为数字变量,触发器现在可以正常激活
var thiseffect:Boolean = false;
var mynum:Number = Number(thistx.text);
if (mynum>=6 && mynum<=12)
{ thiseffect = true; }
【解决方案2】:
您可以使用以下运算符来比较字符串: 和 >。
但您应该注意:当将这些运算符用于字符串时,ActionScript 会考虑字符串中每个字符的字符代码值,从左到右比较字符。
因此,在您的示例中,它按字符而不是实际整数值从左到右进行比较。
trace("12" <= "6") ;//evaluates true
trace("12" <= "06");//evaluates false
refer to Adobe Doc files here.