VB如何判定文字框裡是數學數字,MFC如何從文字框中獲取數字

2022-09-23 08:26:32 字數 5644 閱讀 8482

1樓:匿名使用者

coo_boi 和 tianqing20wen 兩位的回答都是可以的,我估計coo_boi是搞**或者遊戲的 tianqing20wen 則是搞商業軟體的(胡亂猜測)

其實lz的問題很簡單,沒必要用到正規表示式,我給出其他幾個方法

1.isnumeric 比如if isnumeric(text1.text) then 這個不多說了

2.通常文字框輸入資料都要是用,那麼就直接操作,如:

dim v as long'dim v as double/variant

v = clng(text1.text)'v = val(text1.text)

if v <= 0 then

msgbox "請正確輸入"

text1.setfocus

end if

3.ascii 判斷

0-9 的ascii 的16進製制編碼是 &h30 到 &h39 其他語言常寫作:0x30 0x39

4.錯誤捕捉,直接操作

dim c as double

on error goto 標號

c = text1.text 』vb能自動強制轉換變數

'...

exit sub/function

標號:msgbox "出錯了":err.cls

end sub/function

2樓:二級程式設計師

例如,你的文字框名稱為text1,直接複製我的**。

private sub text1_keypress(keyascii as integer)

'限制文字框的輸入,只能輸入數字及小數點,且只能輸入乙個小數點,輸入其它字元無效。

if (keyascii < 48 or keyascii > 57) and keyascii <> 46 and keyascii <> 8 then keyascii = 0

if instr(text1.text, ".") and keyascii = 46 then keyascii = 0

end sub

3樓:

使用正規表示式解決,需要引用microsoft vbscript regular exprsession 5.5

private sub command1_click()dim rexp as new regexprexp.pattern = "^\d+$|^\d+\.\d+$"

dim var

for each var in split(trim(text1), ",")

if not (rexp.test(var)) then msgbox var, vbinformation, "非法數字"

next

end sub

4樓:匿名使用者

isnumeric 函式即可判斷是否是數字

mfc如何從文字框中獲取數字?

5樓:餜挵澶氭潀

給這個文字框在嚮導裡關聯乙個cstring型別的變數,如m_str;

m_str中存放的就是該文字框中的內容,但用之前要加乙個updatedata(true)。

cstring str;

((cedit *)getdlgitem(idc_edit1))->getwindowtext(str)得messagebox(str);////idc_edit1是編輯框的id,右擊編輯框,選擇屬性就可以看見了。

你可以給edit控制項新增變數,再用updatedata(true)函式更新變數就行了。

先從編輯框中獲取字串、然後將字元中轉成數字,最後完成將數字存入 time 變數的過程。

對該edit新增乙個cedit變數,比如m_edtputin。

在需要得到變數的地方使用cstring str。

m_edtputin.getwindowtext(str)。

str就是edit中的字串。

使用 atoi。

vb判斷是否為數字

6樓:dl_會飛的青蛙

if isnumeric(a)=false thenmsgbox "該數不為數字", , "友情提示"

end if

忘記什麼樣的叫整數了!~

沒有小數點的都叫整數嗎?

如果可以拿小數點判斷就用instr(a,",")>0 就是有小數點

7樓:興

isnumeric 函式示例

本示例使用 isnumeric 函式判斷變數的值是否可為數值。

dim myvar, mycheck

myvar = "53"   ' 指定值。

mycheck = isnumeric(myvar)   ' 返回 true。

myvar = "459.95"   ' 指定值。

mycheck = isnumeric(myvar)   ' 返回 true。

myvar = "45 help"   ' 指定值。

mycheck = isnumeric(myvar)   ' 返回 false。

8樓:

這個題問的不完全。首先應做這樣的宣告,若a是數字,那麼它必是乙個一位數(即只能取0-9),否則你的這個題沒法解。

若a的ascii值不在48-57間,則認為不是數字if (asc(a) < 48 or asc(a)>57) thenmsgbox "該數不為數字", , "友情提示"

end if

若判斷a是否為數字:

dim a as object

a = 1

if (abs(fix(a)) < abs(a)) thenmsgbox(str(a) & "不是整數")else

msgbox(str(a) & "是整數")end if

注意的是:在使用絕對值函式abs前,要在類的前面加上這一句:

imports system.math

9樓:

if (a 不為數字) then

應該為if not isnumeric(a) then或if isnumeric(a) = false then判斷a是否為整數

if int(a) <> a then

msgbox str(a) & "不是整數"

else

msgbox str(a) & "是整數"

end if

vb中如何判斷文字框中是否有小數點

10樓:匿名使用者

文字框的內容就是乙個字串,所以問題就是判斷字串是否有小數點,對於純數字的判斷比較簡單:

if instr(1,text1.text,".") then

11樓:

文字框是乙個字串,取的其長度,放入for。。next迴圈中,利用mid(text1,i,1)遍歷字串的每個字元,跟小數點判斷是否一致

我想知道,怎麼用vb編寫判斷,文字框中所輸入的是不是數字,如果不是數字的話怎麼終止接下來的步驟。

vb文字框怎樣限制只能輸入數字值

12樓:匿名使用者

1、 新建乙個標準exe程式。

2、 繪製介面,新增乙個 textbox 控制項,改名為 txbnumber。

3、 編寫**。在**視窗中,新增 txbnumber_keypress 事件。

4、查ascii碼表,得到0的ascii碼是48。輸入以下語句:

if keyascii < 48 or keyascii > 57 then keyascii = 0

這條語句用來判斷輸入的字元是否在0-9的範圍,如果不在這個範圍,就把這個輸入的字元遮蔽掉。

5、但這麼做會產生乙個問題,就是使用backspace刪除字元的時候,由於按鍵被遮蔽,無法刪除。只要在上面的語句前在新增一條語句:if keyascii = 8 then exit sub,意思是,如果按了backspace,就直接退出該過程,按鍵就不會被遮蔽了。

6、除錯執行。按f5,在文字框中輸入任意字元,可以看到只有數字能顯示在文字框中。按退格鍵,字元也能正常刪除。

7、 如果輸入的數字可能是小數,那麼還要新增如下**:

if keyascii = 46 and not cbool(instr(txbnumber, ".")) then exit sub

當輸入小數點時,程式判斷文字框中是否已有小數點(因為乙個小數中不可能有多個小數點),如果沒有小數點,則允許輸入。

13樓:丁滿

(二樓那個不能輸入小數點和科學計算,還有其他進製,我重新編了乙個,要事先把文字框的tag屬性設為"0")

private sub text1_change()

if isnumeric(text1.text) then

text1.tag = text1.text

end if

end sub

private sub text1_lostfocus()

if text1.text = "" then text1.text = "0": exit sub

if not isnumeric(text1.text) then

if msgbox("只能輸入數字!單擊「是」重新編輯。", vbyesno) = vbyes then

text1.setfocus

else

text1.text = val(text1.tag)

end if

end if

end sub

如需特殊的數字要求(比如只能輸入整數,不能為0等,請繼續追問,很願意為你解答

14樓:匿名使用者

新增以下事件即可。

private sub text1_keypress(keyascii as integer)

if keyascii < 48 or keyascii > 57 then keyascii = 0

end sub

15樓:

用numericupdown

或者maskedtextbox設定mask = 9999.99

vb中,怎麼判定乙個textbox中輸入的是正整數

16樓:匿名使用者

1、開啟vb6.0軟體,新建乙個標準exe工程;

2、在設計介面上新增乙個text控制項和乙個command控制項,text1的屬性text設定為空,command1的caption屬性設定為"判斷";

3、雙擊command1控制項,進入**編輯視窗,在**編輯視窗輸入如下**:

private sub command1_click()dim n as double

n = val(text1.text)

if n > 0 then

msgbox (n & "是乙個正數")

elseif n = 0 then

msgbox ("n等於0")

else

msgbox (n & "是乙個負數")

end if

end sub

4、點選執行工程,在text1中輸入乙個數字,單擊判斷按鈕,判斷該數是正數、0還是負數;

統計VB窗體裡特定文字框的個數,VB下統計字串中所含某字元的個數

visual basic 6.0具有豐富的資料型別和眾多的內部函式。其採用模組化和結構化程式設計語言,結構清晰,語法簡單,容易學習。其中統計vb窗體裡特定文字框的個數的方法為 1 首先,我們繪製乙個命令按鈕,並雙擊進入。2 然後我們輸入要顯示的窗體。3 然後輸入 show 方法。4 接下來我們就可以...

vb如何將print的內容改到文字框tet1中顯示

text1 共有以上 l 組。vb練習 現了問題 怎麼做才能將內容用print語句輸出到textbox中 private sub command1 click print 無法在文字框中輸出,下面方法可以實現在文字框中輸出 dim x as integer x 401 if x mod 4 0 an...

MFC文字框如何限制輸入1位數字

可以在oninitdialog 中新增如下 cedit pedt cedit getdlgitem idc edit1 pedt setlimittext 1 把輸入轉換成整數後 if i 0 i 10 如何寫 在mfc編輯框中限定數字輸入的範圍,比如1 100,而且當輸入超出範圍時,自動歸回到初始...