看板 Flash 關於我們 聯絡資訊
※ 引述《cjcat2266 (CJ Cat)》之銘言: : ※ 引述《icedesign (灑脫)》之銘言: : : 最近在做遊戲計分的時候,想到一個問題。 : : 假設這個分數欄有8位數。 : : [00000000] : : 我原本是想用if去做[補零]的動作 : : 比如 : : [00000008] : : 可是是否還有比用if更好的方法呢? : totalScoreStr = ""; : for (var i:int = 0; i < 8 - score.toString().length; i++) : totalScoreStr += "0"; : totalScoreStr += score.toString(); : 或者取對數,只是對score == 0不適用 : for (var i:int = 0; i < 8 - (Math.log(score) / Math.LN10 + 1); i++) 大家好像把故事複雜化了 試試這個 var score:String = new String("00000000" +800); trace(score.substr(-8, 8)); 原理就是反正不管怎麼樣,就在分數旁邊先補8個零(分數如果是負的不適用) 再從右邊取8個位數就行了 :) -- 誠徵PHP網站工程師,熟MVC架構 http://blog.eddie.com.tw/ 全職、兼職可,意者請敲 :) http://www.eddie.com.tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.128.37
cjcat2266:哈,沒想到這招耶XD 04/17 13:40
aquarianboy:這招讓我想起以前學校的一些故事啊.. :) 04/17 13:41
Angelliya:推這招 XD 04/17 14:10
icedesign:哈~我原本想的跟cj差不多,原來醬子就好~XD!版主的故事 04/17 14:59
icedesign:要不要分享一下~謝囉! 04/17 14:59
etrexetrex:太強了 04/17 17:36
pokey0000000:這招真的很威力 04/24 11:18