文本字段大于或等于在AS3中具有奇怪的效果

时间:2015-12-15 07:13:17

标签: actionscript-3 flash textfield

我有一个如下所示的触发器

var thiseffect:Boolean = false;

if (thistx.text >="6" && thistx.text <="12")
{ thiseffect = true; }

并且在这种情况下触发器不会激活但是如果我将此触发器中的12值更改为低于10的值,或者如果我将6值更改为大于10的值,它将触发没有问题

我不确定为什么会这样,有没有人遇到过这个?

2 个答案:

答案 0 :(得分:0)

这不是一个答案,而是一个解决方案

我已将文本输入转换为数字变量,触发器现在没有问题激活

var thiseffect:Boolean = false;
var mynum:Number = Number(thistx.text);

if (mynum>=6 && mynum<=12)
{ thiseffect = true; }

答案 1 :(得分:0)

您可以使用以下运算符来比较字符串:&lt;,&lt; =,!=,==,=&gt;和&gt;。

但是你应该注意:当这些操作符与字符串一起使用时,ActionScript会考虑字符串中每个字符的字符代码值,从左到右比较字符。

因此,在您的示例中,它逐个字符地比较左右字符,而不是实际的整数值。

trace("12" <= "6") ;//evaluates true
trace("12" <= "06");//evaluates false 

refer to Adobe Doc files here.