作者ragtime (rag)
看板Flash
标题Re: [问题] 有关String类型值以隐含方式强制转型成 …
时间Mon Apr 19 23:12:06 2010
谢谢您的回覆。
我照着打後,还是没有0跑出来耶。
不过没有错误码。
var myDate:Date = new Date ();
var myYear:Number = myDate.getFullYear() ;
var hourNumber:Number = myDate.getHours();
var myHours:String;
var myMinutes:Number = myDate.getMinutes ();
var mySeconds:Number = myDate.getSeconds ();
var myM:String;
var myS:String;
if ( hourNumber < 10) { myHours = "0" + hourNumber.toString();}
if (myMinutes < 10){myM = "0" + myMinutes.toString();}
if (mySeconds < 10) {myS = "0" + mySeconds.toString();}
time_txt.text = myYear + "─" + hourNumber + ":" + myMinutes + ":" +
mySeconds ;
最後一行换成
myM + myS,就是变成小於10的时候,会有数字跑出来。
@__@
※ 引述《dsmwang (科科)》之铭言:
: ※ 引述《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: 118.169.129.13
1F:推 dsmwang:time_txt.text = ... + myHours + ....... 04/19 23:20