四舍五入c語(yǔ)言代碼 用C語(yǔ)言編程如何實(shí)現(xiàn)保留幾位小數(shù)并對(duì)最后一位四舍五入?
用C語(yǔ)言編程如何實(shí)現(xiàn)保留幾位小數(shù)并對(duì)最后一位四舍五入?非常簡(jiǎn)單,如果你有一個(gè)浮點(diǎn)型變量a,它的值是1.23456,你只想保留三位小數(shù),也就是說(shuō),你想得到1.235,只要讓a=(int)(1000.0*
用C語(yǔ)言編程如何實(shí)現(xiàn)保留幾位小數(shù)并對(duì)最后一位四舍五入?
非常簡(jiǎn)單,如果你有一個(gè)浮點(diǎn)型變量a,它的值是1.23456,你只想保留三位小數(shù),也就是說(shuō),你想得到1.235,只要讓a=(int)(1000.0*a0.5)/1000.0。如果要保留四位小數(shù),請(qǐng)將1000改為10000,依此類(lèi)推。
用C語(yǔ)言怎么實(shí)現(xiàn)浮點(diǎn)數(shù)的四舍五入,保留兩位小數(shù)點(diǎn)?
如何在C語(yǔ)言中舍入浮點(diǎn)數(shù),保留兩位小數(shù)的設(shè)計(jì)過(guò)程如下:
定義浮點(diǎn)數(shù)變量DF,輸入浮點(diǎn)數(shù)
將浮點(diǎn)數(shù)DF放大100倍
將浮點(diǎn)數(shù)DF增加0.5
使用floor()函數(shù)獲取最接近DF但不大于DF的整數(shù)(完全舍入)。不能使用int強(qiáng)制轉(zhuǎn)換,否則,如果數(shù)據(jù)超出int的范圍,將發(fā)生錯(cuò)誤。
浮點(diǎn)數(shù)DF減少100倍,得到一個(gè)小數(shù)點(diǎn)后兩位的浮點(diǎn)數(shù)
按%輸出結(jié)果。2F.
參考代碼:
#include
~]#include<stdio。H> doublefun(float H){return(long)(H*100 0.5)/100.0}main(){float aprintf(“enter a:”)scanf(%f”,&A)printf(“原始數(shù)據(jù)是:”)printf(%fnn”,a)printf(“結(jié)果%fn”,fun(a))}
1輸入雙精度類(lèi)型的數(shù)目。
2使用舍入將第三個(gè)數(shù)字舍入。
3輸出結(jié)果。請(qǐng)注意,不能直接輸出為%。2lf,因?yàn)橹黝}需要在程序中進(jìn)行舍入,而不僅僅是輸出舍入的結(jié)果。代碼: