【vb & C】整數


Recommended Posts

最初由 小豪 發表

我同學問我的

其實在VB或是C應該都差不多(或許吧)

要如何去檢查使用者輸入的數是整數???

例如

限輸入整數

但使用者輸入19.22

要如何過濾這種數據呢???

如果他輸入小數

妳要程式顯示什麼??

還是把小數換成整數

痾說清楚一點

鏈接文章
分享到其他網站

如果是在VB中,可以用fix()函式將其輸入的數的小樹部分無條件捨去

也可以用int()函式曲小於或等於其輸入數的最大整數

另外也可以使用cint()函式四捨五入取到整數

不然也可以用format()函式定義格式為"##"等等,這樣可以順便線至整數字串長度,不過如果是NULL或0.多的話,就會變成空字串喔!

不然最簡單的......先定義存使用者輸入的數的變數為integer,這樣輸入的數自動會四捨五入取整數

若是在C中,也只要定義變數為int,輸出跟輸入型態為%d,那就應該不會有小數了吧:)

--

好像是第一次PO文耶XDrz

鏈接文章
分享到其他網站
最初由 SRX 發表

.............(論壇訊息:引文過長 恕刪)

就是

假設現在要輸入年代

年代不可能有小數的吧

但使用者輸入了一個小數

要如何知道使用者輸入了一個小數

而叫他重新輸入呢?

我盡量表達了我的問題了

我的國文不好 抱歉:$

鏈接文章
分享到其他網站
最初由 小豪 發表

就是

假設現在要輸入年代

年代不可能有小數的吧

但使用者輸入了一個小數

要如何知道使用者輸入了一個小數

而叫他重新.............(論壇訊息:引文過長 恕刪)

嗯嗯

C :

用double

如果double 值 == int 值 那就正確 19.00 如果你要算小數那就用方法2

方法1

double a ;

scanf ( "%lf" , &a ) ;

if ( a!=(int)a ) puts ("your input is wrong , please input again") ;

else do () ;

--------------------------------------------------------------------------------

用字串

如果有'.' 就是小數

如果沒有 可用內建atoi函式 將 字串轉成整數

或自己寫轉換

方法二

int i , year ;

bool error = false ;

char line [100] ;

scanf ("%s",line ) ;

for ( i=0 ; line ; i++ )

if ( line=='.' ) error = true ;

if ( !error )

year = atoi ( line ) ;

else

puts ( "wrong" ) ;

鏈接文章
分享到其他網站
  • 4 weeks later...

個人演算法為,搜到"."輸出Error

以下為用VB的寫法:

物件:textbox*1 command*1

Private Sub Command1 click()

Dim str1 as String

Dim count1 as Integer

str1 = text1.text

For i = 1 to Len(str1)

If Mid(str1,i,1) = "." Then

Msgbox "Error"

End if

Next i

count1 = cint(str1)

.....繼續寫下去.....

End Sub

鏈接文章
分享到其他網站
  • 3 weeks later...
最初由 rex2003 發表

...

最近有用到過

這樣呢?

int a;

if(scanf("%d",&a)==1)printf("it's int");

else printf("not int");

scanf好像會有回傳值?

不知道|||

反正,當scanf得到一個正確型態的輸入就會回傳1

.............(論壇訊息:引文過長 恕刪)

嗯 , 那是對的

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入