2015-01-20 75 views
0

我生成一個隨機整數(在0 & 99之間),將其轉換爲字符串併成功通過藍牙將其傳輸到第二臺機器,然後將其轉換回整數以供進一步處理。但是任何後續計算導致0回答我使用的是: -數字轉換問題

str_int = strtol(buf, NULL, 10); 

但是,當我再嘗試: -

height = (str_int/100); 

答案始終是0。我在想什麼?對於OpenGL處理​​,我最終需要在-0.5和0.5之間調整這個隨機數。

回答

2

假設高度是浮點或雙:用C

height = (str_int/100.0); 

整數除法總是截斷成整數其分配給您的變量之前。在編號末尾加上.0通知編譯器,您希望該編號被解釋爲double,因此編譯器會將該表達式解釋爲浮點除法。

+0

我想知道如果第一個操作數不確定操作類型... – 2015-01-20 23:28:55