表示式必須具有整數或未區分範圍的列舉型別

2021-10-25 07:45:27 字數 474 閱讀 1128

學習其他語言的時候明白了這個問題!這個問題是由於精度不一致導致無法進行除法運算!(通過測試只有浮點型做取餘運算的話就會報錯,是由於精度問題導致無法取餘)

碰到這樣上述標題這樣的乙個問題:

當我們這樣使用的話

float a;

cin>>a;if(

20%a==

0) cout<<

20/a;

//這個地方會報錯

else cout<<

20/a+

1;

當a為浮點數的時候,if條件句這裡會出現問問題。

如果我們需要判斷20是否為a的倍數:我們可以使用向上取整ceil(20/a),結果為4.1的話就是5,結果4的話就是4。

向下取整我們可以使用floor(20/a)或者int(20/a)

使用ceil和floor需要#include < cmath >

正規表示式限制輸入整數或小數

string pattern d d 這是乙個格式匹配字串 其中的含義可以參考如果呼叫以下 可以匹配整數字最多為7位,小數字最多為2位的數值型資料 也就是只能輸入數字和小數點 string text 12333.689 matchcollection matches regex.matches te...

正規表示式 ( ) 或 ( )

正規表示式在爬蟲中的應用,可以更好的取自己想要的資料,有些時候也可以應對那些反爬取的 後邊多乙個?表示懶惰模式。必須跟在 或者 後邊用 如 src 匹配結果是 src test.jpg width 60px height 80px 意思是從 往後匹配,直到最後乙個 匹配結束 懶惰模式正則 src 結...

正規表示式( ) 或 ( )

正規表示式在爬蟲中的應用,可以更好的取自己想要的資料,有些時候也可以應對那些反爬取的 後邊多乙個?表示懶惰模式。必須跟在 或者 後邊用 如 test.jpg width 60px height 80px 如果用正則匹配src中內容非懶惰模式匹配 src 匹配結果是 src 意思是從 往後匹配,直到最...