Re: [AHK-] 計次中如何保持最少位數?
※ 引述《ScorAlan (漫步在雲端)》之銘言:
: 請問大家
: 我想要做一個可以幫我計次的
: 按F10就加1後輸出
: F11就保持原狀不加也不減後輸出
: F12則是減一後輸出
: 但在使用者輸入上需要的最低顯示位數卻不固定
: 譬如開頭是用1,2,3...9,10,11...99,100,101...表示最少顯示位數為一個位數
: 01,02,03,...09,10,11,.....99,100,101...表示最少顯示位數為兩個位數
: 001,002,003,...,009,010,011,...,099,100,111...表示最少顯示為數為三個位數
: 又譬如有時輸入從56開始計算
: 這樣也就沒辦法知道需要最少顯示位數是一個位數還是兩個位數
: 就先當成最低顯示位數為一個位數
: 按下F10時會輸出57,按下F11時會輸出56,按下F12時會輸出55
: 但如果是056開始算的話就可以知道最低顯示位數為三個位數
: 不曉得這樣子有沒有辦法能夠讓程式自動判斷且輸出呢?
: 感謝
: -----------------------------------------------------------------------
: Gui, Add, Edit, x11 y14 w100 h20 , %Edit%
: Gui, Add, Button, x11 y44 w100 h30 , Button
: Gui, Show, autosize, NEW Window
: Return
: GuiClose:
: ExitApp
: ButtonButton:
: controlgettext,inputvar,edit1, NEW Window
: return
: F10::
: inputvar:=inputvar+1
: msgbox,%inputvar%
: return
: F11::
: msgbox,%inputvar%
: return
: F12::
: inputvar:=inputvar-1
: msgbox,%inputvar%
: return
: ------------------------------------------------------------------
用下面這段來找出位數
if instr(inputvar, "0") = 1
a := strlen(inputvar)
else
a = 1
return
然後在變動inputvar時 加入setformat
setformat, float, 0%a%.0
inputvar += 1.0
return
0是表示填零
%a%是數字字元數 負數時"-"也是字元之一 要再寫個判斷的式子
0是小數點位數
1.0是為了讓inputvar變為浮點數(float 是這樣說吧? = =)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.1.186
※ 編輯: fossil313 來自: 59.117.1.186 (03/14 21:40)
推
03/15 06:33, , 1F
03/15 06:33, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):