分析一條語句

時間 2022-06-30 23:20:14

1樓:自由的菜鳥

一句話,+0.5就是為了實現四捨五入,因為強制轉換double為int是,小數部分全部舍掉了。於是+0.5使其四捨五入,減小誤差

2樓:匿名使用者

v[i]*100難道不是整數嗎?

v[i]是double型,v[i]*100就不會是整型的,除非你在前面加上強制轉換(int).

for(i=0;i>s;

str.push_back(s);

v.push_back(deal(s)+(double)i/100); //

} //不知道你的n是多大的,假設》50

//當你輸入的是12時,str先獲取到12//那麼,當i=50時,v.push_bach(...)獲取到的就是12.5

for(i=0;i

//加上0.5後,達到了數學上的四捨五入的效果.

3樓:匿名使用者

j=(int)(v[i]*100+0.5)%100實現了小數點後1位的四捨五入功能,如果v[i]=0.124

按照j=(int)(v[i]*100)%100=12按照j=(int)(v[i]*100+0.5)%100=12如果v[i]=0.125

按照j=(int)(v[i]*100)%100=12按照j=(int)(v[i]*100+0.5)%100=13

4樓:匿名使用者

當double強轉成int時,會把小數刪除.如15.3 15.9 都等於15

所以+0.5是為了四捨五入,這時

int(15.3+0.5) = int(15.8) = 15而int(15.9+0.5) = int(16.4) = 16;

實現了四捨五入

當14.123456*100,是整數嗎?double後的小數位有好多,不至2位!

5樓:匿名使用者

貌似強制轉換的時候會四捨五入.加個0.5是為了準確性!!!

但是我在vc6.0下測試了一下,那倆條語句好像是沒有區別的.它們的測試值完全一樣的!

你可以試一下具體的使用.

PLC一條程式設計語句的疑問

1t0 和dt0的區別 是16位和32位的區別嗎?2這個語句的意識是x1接通 然後設定後面的引數 t0 k1 k1 d352 k1 用於以後的程式?3這2條句子裡有很多相同的引數,我不知為什麼要這樣設定?解疑 1,t0和dto是寫入所指引數到特殊模組,與之類似的還有from和dfrom,是由指定的特...

求一條SQL語句如何寫

update pmm.student set name 張三 where name is null 取空的時候is null就可以了,name 和 name null 取的都不是空。謝謝。update from pmm.student set name 張三 where name is null 在...

linux shell的sed分析(只有一條)

給migrate target賦值,賦值的內容是target node變數中匹配不是以.開頭的變數到下一個.前的字元後追加ocf reskey migration network suffix的值 例1target node abc ocf reskey migration network suff...