c#對於int型別在隱式轉換和強制轉換上是有一定區別的,對於c#細節的差別還是需要多嘗試才能心中有數,不然就可能在程式設計的時候導致一些很詭異的計算結果不正確,下面是各種轉換版本之間細微的區別,希望大家以後在使用的時候注意:
int x1 = (int)234.67f 結果是234 (直接去掉了小數字)
int x2 = convert.toint32(234.67f) 結果是 235 (進行四捨五錄)
int x3 = math.ceiling(234.12f) 結果是 235 (只要有小數字就錄一)
顯示轉換不對結果進行四捨五錄,強制轉換後結果進行四捨五錄,math.ceiling總是上錄數。
int.tryparse("10.00", out x)轉換失敗 (當int進行帶有小數字的嘗試轉換時會失敗)
float.tryparse("1,3230.10", out x) 轉換成功
C int型別顯示和隱式轉換的比較
c 對於int型別在隱式轉換和強制轉換上是有一定區別的,對於c 細節的差別還是需要多嘗試才能心中有數,不然就可能在程式設計的時候導致一些很詭異的計算結果不正確,下面是各種轉換版本之間細微的區別,希望大家以後在使用的時候注意 int x1 int 234.67f 結果是234 直接去掉了小數字 int...
C 隱式和顯示型別轉換
c 是在編譯時靜態型別化的,因此變數在宣告後就無法再次宣告,或者無法用於儲存其他型別的值,除非該型別可以轉換為變數的型別。1.隱式型別轉換 隱式轉換,就是系統預設的轉換,其本質是小儲存容量資料型別自動轉換為大儲存容量資料型別,該轉換是一種安全型別的轉換,不會導致資料丟失,因此不需要任何特殊的語法。下...
C 的隱式和顯示型別轉換
關於隱式轉換和顯示轉換,每種語言都有的,c 中當然也不例外。一般常用到的場合,一種是寫運算表示式的時候,要保持整體的資料型別一致和計算準確,比如有乙個變數a是int型,但是它是通過加減乘除得到的,那麼在運算中就要考慮用顯示轉換,除的運算需要轉換成float或double,再把結果強制轉換為int 再...