2017-07-16 91 views
0

場景1,圖層'層1',幀1,線2,列12 1067:將String類型的值隱式強制爲不相關的類型Number。Adob​​e Animate中的AS3 CC

在舞臺動態文本的名稱:「benzin_txt」

benzin_txt.text -= 1; 

回答

1

設置一個文本框的文本需要一個字符串。你試圖給它一個數字。

如果您想要將TextField的值解釋爲數字,然後將其內容減1,則必須首先解析該字符串。然後把它變回一個字符串。

var origionalText:String = benzin_txt.text; 
    var asNumber:Number = parseInt(origionalText); 
    asNumber--; 
    benzin_txt.text = asNumber.toString(); 

    //or 

    benzin_txt.text = String(int(benzin_txt.text) - 1); 
+0

謝謝,但我的意圖是減去數字1 例如,100-1 = 99不是10。 –

+1

PS:@AbedHadada ...更新的'benzin_txt.text = String(int(benzin_txt.text) - 1);'爲你工作?如果你用一個**數字**變量,就像用於算術計算的'Number'或'int'類型,那麼'textfield'只顯示結果數值(比如'numVar - = 1'和' benzin_txt.text = String(numVar)')...另外看看'as3類型鑄造'如果你需要知道爲什麼'.text = String(Number)'.. –

+0

@AbedHadada我發佈的例子從你的文本字段中減去1 (假設其內容是可解析的數字)。它不會截斷你的文本。 – quantomworks

1

textField的內容是「String」而不是「Number」。所以你不能對它進行數字操作。首先,你必須將其轉換爲數字或相關類型:

number = benzin_txt.text as Number; 

number = Number(benzin_txt.text); 

然後將其重新轉換爲字符串,所以你可以使用它作爲文本的文本框:

benzin_txt.text = String(number); 

benzin_txt.text = number.toString(); 

簡單:

benzin_txt.text = String(Number(benzin_txt.text)-1); 

問候。

+0

謝謝。當我選擇嵌入字體時使用:數字 –

相關問題