精華區beta Visual_Basic 關於我們 聯絡資訊
現要讓使用者只能輸入數字,(可為浮點數) 不知有無類似C裡面 scanf 的方式? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.28.161 > -------------------------------------------------------------------------- < 作者: ablboy (秘密行動計畫中(B)) 看板: Visual_Basic 標題: Re: 要如何讓使用者輸入數字?? 時間: Thu Sep 1 00:52:45 2005 ※ 引述《oycoyc (.......)》之銘言: : 現要讓使用者只能輸入數字,(可為浮點數) : 不知有無類似C裡面 scanf 的方式? Sub Text1_KeyPress(KeyAscii as Integer) If Instr(1, "0123456789.", KeyAscii) = 0 Then KeyAscii = 0 End If End Sub 其中利用 InStr 函式搜尋輸入字是否在字串中 如果找不到的話就將輸入KeyAscii設定成 0 , 代表略過此次輸入 如果字串改成"+-0147258369." (故意將數字順序打亂) 就變成可接受0~9還有小數點正負號 如果還要外加也可接受"Enter"按鍵, 就得在判斷If後加上 And KeyAscii <> 13 Then 總之使用將不允許輸入的字濾除方式來達到想要的功能 這樣的解釋不知是否了解...!? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.171.28.224 > -------------------------------------------------------------------------- < 作者: fumizuki (小獅子) 看板: Visual_Basic 標題: Re: 要如何讓使用者輸入數字?? 時間: Thu Sep 1 07:25:31 2005 ※ 引述《ablboy (秘密行動計畫中(B))》之銘言: : ※ 引述《oycoyc (.......)》之銘言: : : 現要讓使用者只能輸入數字,(可為浮點數) : : 不知有無類似C裡面 scanf 的方式? : Sub Text1_KeyPress(KeyAscii as Integer) : If Instr(1, "0123456789.", Chr(KeyAscii)) = 0 Then : KeyAscii = 0 : End If : End Sub : 其中利用 InStr 函式搜尋輸入字是否在字串中 : 如果找不到的話就將輸入KeyAscii設定成 0 , : 代表略過此次輸入 : 如果字串改成"+-0147258369." : (故意將數字順序打亂) : 就變成可接受0~9還有小數點與正負號 : 如果還要外加也可接受"Enter"按鍵, : 就得在判斷If後加上 And KeyAscii <> 13 Then : 總之使用將不允許輸入的字濾除方式來達到想要的功能 : 這樣的解釋不知是否了解...!? -- VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法 ====================================================== Visual_Basic MaiKuraki Stephen Array -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.58.156.43 ※ 編輯: fumizuki 來自: 210.58.156.43 (09/01 07:25)
ablboy:疏忽 感謝糾正! :D 59.113.87.122 09/01
> -------------------------------------------------------------------------- < 作者: oycoyc (.......) 看板: Visual_Basic 標題: Re: 要如何讓使用者輸入數字?? 時間: Mon Sep 5 16:30:19 2005 ※ 引述《ablboy (秘密行動計畫中(B))》之銘言: : ※ 引述《oycoyc (.......)》之銘言: : : 現要讓使用者只能輸入數字,(可為浮點數) : : 不知有無類似C裡面 scanf 的方式? : Sub Text1_KeyPress(KeyAscii as Integer) : If Instr(1, "0123456789.", KeyAscii) = 0 Then : KeyAscii = 0 : End If : End Sub : 其中利用 InStr 函式搜尋輸入字是否在字串中 : 如果找不到的話就將輸入KeyAscii設定成 0 , : 代表略過此次輸入 : 如果字串改成"+-0147258369." : (故意將數字順序打亂) : 就變成可接受0~9還有小數點與正負號 : 如果還要外加也可接受"Enter"按鍵, : 就得在判斷If後加上 And KeyAscii <> 13 Then : 總之使用將不允許輸入的字濾除方式來達到想要的功能 : 這樣的解釋不知是否了解...!? 謝謝!! 但是這樣沒辦法防止使用者輸入 11.23.1 -11-.+12 等不合格式的"數字", 這有辦法解決嗎? 另外, 可否在 一當使用者按"enter"鍵時, 就將text1.text輸入到所要做計算的變數中? (現在都是另外再用command來觸發它) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.28.161 > -------------------------------------------------------------------------- < 作者: oycoyc (.......) 看板: Visual_Basic 標題: Re: 要如何讓使用者輸入數字?? 時間: Wed Sep 7 15:56:33 2005 ※ 引述《oycoyc (.......)》之銘言: : 謝謝!! : 但是這樣沒辦法防止使用者輸入 : 11.23.1 : -11-.+12 : 等不合格式的"數字", : 這有辦法解決嗎? 在別處找到的答案, 用 IsNumeric(expression) 函示即可解決, expression若為數字,則回傳值即為 true -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.28.161