Re: [問題] 有關String類型值以隱含方式強制轉型成 …
※ 引述《ragtime (rag)》之銘言:
: 請問各位高手
: 我照著書上的語法寫時鐘,
: 可是在設定時間小於10,
: 則時間前面加一個0的時候,
: 輸出就出現錯誤
: 「1067: String 類型值以隱含方式強制轉型成不相關的類型 Number。」
: 我這邊的語法是:
: if (myHours < 10) { myHours = "0" + myHours; }
: time_txt.text = myYear + "─" + myHours + ":" + myMinutes + ":" + mySeconds ;
: 當我改成
: if (myHours < 10) { myHours = Number ("0") + myHours; }
: 錯誤的訊息就不會出現,但是時間小於10的時候,前面依然沒有加0,
: 想請問板上各位高手,這個情況要如何解決呢?
: 感激不盡!!
你現在是
var myHours:Number = myDate.getHours ();
就是說,你那一行定義了myHours是Number,
然後把myDate.getHours指定給myHours
那你現在希望要有0在前面
你可以先定義另外一個變數是Number...如:
var hourNumber:Number = myDate.getHours();
然後在定義一個字串
var myHours:String;
然後把程式碼碼改成
if ( hourNumber < 10) { myHours = "0" + hourNumber.toString() }
你原本Number("0")應該是把字串"0"改成Number的意思吧,
(猜的)
那你看看你的式子, myHours = Number ("0") + myHours
myHours = 0 + myHours
(數字)
這放在任何地方看都是非常正確且無意義的句子,
這也是為何你那樣改沒用的原因。
新手回文,請多指教。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.252.123
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):