小數(shù)化成整數(shù)的方法 C中怎么在運算中強制將浮點型轉換成整型?
C中怎么在運算中強制將浮點型轉換成整型?C語言有以下舍入方法:1。直接給整型變量賦值。如:inti=2.5或I=(int)2.5,此方法使用小數(shù)部分的舍入,可用于您的問題。2. C/C中的整數(shù)除法運算
C中怎么在運算中強制將浮點型轉換成整型?
C語言有以下舍入方法:
1。直接給整型變量賦值。如:inti=2.5或I=(int)2.5,此方法使用小數(shù)部分的舍入,可用于您的問題。
2. C/C中的整數(shù)除法運算符“/”具有舍入函數(shù)(int/int),下面描述的舍入函數(shù)的返回值是雙精度的。整數(shù)除法的正整數(shù)舍入是對小數(shù)部分的舍入,可以用來解決你的問題。但是,整數(shù)除法的負整數(shù)舍入結果與C編譯器的使用有關。
3. 使用地板功能。Floor(x)返回小于或等于x的最大整數(shù)。例如:Floor(2.5)=2floor(-2.5)=-34,使用cel函數(shù)。Ceil(x)返回大于x的最小整數(shù)。例如:Ceil(2.5)=3ceil(-2.5)=-2floor()四舍五入為負無窮大,floor(-2.5)=-3;Ceil()四舍五入為正無窮大,Ceil(-2.5)=-2。樓層功能可用于解決您的問題。5Intb=(int)a//舍入INTC=(int)(a 0.5)//舍入
兩種方式:
1。通過強制類型轉換
float a=1.1f//定義一個浮點變量aint B=(int)a//這里,用(int)方法強制轉換float,結果是1
2。通過轉換成字符串,在截斷整數(shù)部分
float a=1.1f//定義一個浮點變量a/T/tstring str=String.valueOf值(a) //浮點變量a轉換為字符串STR/T/tint idx=最后索引( ". “”//查找小數(shù)點的位置=結構子串(0,IDX)//截取從字符串開始到小數(shù)點的字符串,字符串的整數(shù)部分=整數(shù)值(strnum)//傳遞整數(shù)部分整數(shù)值方法轉換為數(shù)字
如果您只想去掉小數(shù)點,那么使用強制類型轉換,即inta=int(1.52),那么a的結果是1。如果你想四舍五入,你可以用inta=int(1.520.5)哈哈。至于為什么要加0.5,很容易自己分析一下^ ^
例如,原來是int類型。如果計算int類型和double類型,結果將是double類型。如果您收到double類型的值,它可能是int類型。例如,10*12.55的結果將自動轉換為雙精度類型。此時,int類型的a用于接收double類型的值值得注意的是,在自動轉換中,將小數(shù)據(jù)類型轉換為大數(shù)據(jù)類型時沒有錯誤,但是當將大數(shù)據(jù)類型轉換為小數(shù)據(jù)類型時,將出現(xiàn)錯誤