作者dsmwang (科科)
看板Flash
标题Re: [问题] 有关String类型值以隐含方式强制转型成 …
时间Mon Apr 19 22:51:58 2010
※ 引述《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