flash制作计算器,12+12为什么等于1212而不是24

flash制作计算器,12+12为什么等于1212而不是24
我用的是输入文本,两个输入文本框分别输入12,按钮出现的结果却是1212.
套用其他公式也出现了错误,结果为NaN.
时尚旋律 1年前 已收到1个回答 举报

水土流失s 幼苗

共回答了17个问题采纳率:82.4% 举报

  因为从输入文本框得到的数据类型是String,也就是字符串
  所以当你输入两个12的时候,它所进行的运算不是12+12,而是"12"+"12"
  不知道你套用其他公式指的是什么,总之不把数据类型转换过来,是无法进行数学运算的
  将String转化为Number可以用Number()
  将Number转化为String可以用String(),也可以用""+12这样的方法
  假设两个输入文本框的名字为t1和t2,另有一个输出文本框名为t3
  按下按钮btn的时候在输出文本框t3显示两者相加的结果
  btn.addEventListener(MouseEvent.CLICK,addition)
  function addition(e:MouseEvent):void
  {
  var num1:Number;
  var num2:Number;
  var num3:Number;
  num1 = Number(t1.text); //在这里获取t1的数据并转化为数字
  num2 = Number(t2.text);
  num3 = num1 + num2; //进行相加
  t3.text = String(num3); //在t3中显示,这句也可以写成t3.text=""+num3;
  }
  最后一个步骤,如果你不转化为String,有时flash也会帮你转化了再显示在文本框,有时则会报错.但理论上来说文本框是不能显示数字的,应该先转化为String,这一步最好还是不要省略
  为了容易看懂把这个分了很多句来写···其实合并起来也可以用一句话搞掂
  t3.text = "" + Number(t1.text) + Number(t2.text);
  总之就是数据类型的转换,看懂了这些应该就能解决你提出的问题了,再根据你要制作的计算器功能修改吧

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.112 s. - webmaster@yulucn.com