输入文本在输出动态文本字段中给出NaN

时间:2013-09-27 13:09:49

标签: flash input actionscript-2 textfield

我正在尝试使用用户的输入进行一些简单的计算。

我有两个输入字段,一个按钮和一个用于显示结果的动态文本字段。 我想要的是让用户在第一个字段中写一个数字,然后在下一个字段中写一个百分比。然后他/她将单击该按钮,正确的计算数字将显示在结果字段中。

我在按钮上使用此代码:

on (release){

var revenue:Number =input1_txt.text;
var revenuegrowth:Number = input2_txt.text;
var growth:Number =revenue * revenuegrowth / 100;

}

问题是,我第一次点击按钮时无效。结果字段中只有NaN而不是数字。 (在第二次点击按钮时工作得很好)

有关如何使其在第一次点击时起作用的任何想法吗?

2 个答案:

答案 0 :(得分:0)

尝试将输入转换为数字

更新:添加了另一个名为input3_txt的字段以显示结果或错误消息以及用于检查输入值是否为数字的测试:

on (release){
  var revenue:Number = Number(input1_txt.text);
  var revenuegrowth:Number = Number(input2_txt.text);
  if (isNaN(revenue) ===false & isNaN(revenuegrowth)  ===false) {
    var growth:Number =revenue * revenuegrowth / 100;
    input3_txt.text = growth + '%'
  } else {
     input3_txt.text = 'Error';
  }
}

答案 1 :(得分:0)

我通过在同一次点击中重复两次代码来实现它。可能不是最好的灵魂,但至少它是有效的:

on (release){

var revenue:Number =input1_txt.text;
var revenuegrowth:Number = input2_txt.text;
var growth:Number =revenue * revenuegrowth / 100;
var revenue:Number =input1_txt.text;
var revenuegrowth:Number = input2_txt.text;
var growth:Number =revenue * revenuegrowth / 100;

}