網(wǎng)站制作NEWS
flash制作計算器,12+12為什么等于1212而不是24
因為從輸入文本框得到的數(shù)據(jù)類型是String,也就是字符串
所以當(dāng)你輸入兩個12的時候,它所進(jìn)行的運(yùn)算不是12+12,而是"12"+"12"
不知道你套用其他公式指的是什么,總之不把數(shù)據(jù)類型轉(zhuǎn)換過來,是無法進(jìn)行數(shù)學(xué)運(yùn)算的
將String轉(zhuǎn)化為Number可以用Number()
將Number轉(zhuǎn)化為String可以用String(),也可以用""+12這樣的方法
假設(shè)兩個輸入文本框的名字為t1和t2,另有一個輸出文本框名為t3
按下按鈕btn的時候在輸出文本框t3顯示兩者相加的結(jié)果
btn.addEventListener(MouseEvent.CLICK,addition)
function addition(e:MouseEvent):void
{
var num1:Number;
var num2:Number;
var num3:Number;
num1 = Number(t1.text); //在這里獲取t1的數(shù)據(jù)并轉(zhuǎn)化為數(shù)字
num2 = Number(t2.text);
num3 = num1 + num2; //進(jìn)行相加
t3.text = String(num3); //在t3中顯示,這句也可以寫成t3.text=""+num3;
}
最后一個步驟,如果你不轉(zhuǎn)化為String,有時flash也會幫你轉(zhuǎn)化了再顯示在文本框,有時則會報錯。但理論上來說文本框是不能顯示數(shù)字的,應(yīng)該先轉(zhuǎn)化為String,這一步最好還是不要省略
為了容易看懂把這個分了很多句來寫···其實合并起來也可以用一句話搞掂
t3.text = "" + Number(t1.text) + Number(t2.text);
總之就是數(shù)據(jù)類型的轉(zhuǎn)換,看懂了這些應(yīng)該就能解決你提出的問題了,再根據(jù)你要制作的計算器功能修改吧
多重隨機(jī)標(biāo)簽