AS3:如何检测负数

时间:2019-01-26 05:19:12

标签: actionscript-3 flash

在我的AS3应用程序中,我试图将其值设置为0(如果它变成负数),这是因为如果某人单击太多次,它可能会变成负数。我想让这不可能。

这是我下面的代码,但是,它认为负数大于零。

我尝试了各种不同的代码和各种在线搜索,但无济于事。

if(this.getData(2) > 0)
{
    this.setRes(2,0);
}

我想要这样,如果值是负数,则将其设置为0。目前,每当它小于零时将其设置为0,但是在上面不起作用。如果我将其设置为使用<大于符号,则它将继续锁定为0,即使它是负数,我也出于测试目的将其设置为开始。

我如何使它检测负数,以便知道差异?还是更好,只是解决这个问题?

1 个答案:

答案 0 :(得分:1)

您的数值uint,int,Number的数据类型是什么??? 您是否检查过实际值是否真的是负值?

var a : uint=1;
var b : int=1;

trace ("( a : uint = " + a + " ) - 1 = " + ((--a) as uint));
trace ("( a : uint = " + a + " ) - 1 = " + ((--a) as uint));
trace ("a : uint (" + a + ") < 0 ? -> " + (a < 0)); // !!! return false
trace ("( b : int = " + b + " ) - 1 = " + ((--b) as int));
trace ("( b : int = " + b + " ) - 1 = " + ((--b) as int));
trace ("b int (" + b + ") < 0 ? -> " + (b < 0)); // !!! return true

输出:

( a : uint = 1 ) - 1 = 0
( a : uint = 0 ) - 1 = null
a : uint (4294967295) < 0 ? -> false
( b : int = 1 ) - 1 = 0
( b : int = 0 ) - 1 = -1
b int (-1) < 0 ? -> true