1樓:匿名使用者
float只能有六位有效數字,如果這個限制了的話可能需要你改用double了。也就是說,比如你想要的是55.12345,這個在float裡面只能是55.1234;
你說的功能如果是輸出printf的話就"%.5f",但是,你需要增加運算精度的話可能實現不了。
2樓:匿名使用者
float在程式中貌似不可以改小數點後位數,只可以在輸出時只輸出5位小數。
計算機只是別01碼,也就是說int型數字和float數字都是01碼組成,int型比較容易理解,如 101 = 1*2^2 + 0*2^1 + 1*2^0 = 5;
對於float數字 先將數字轉換成 純小數*10^n 形式,如2.5 = 0.25*10^1
0.023 = 0.23 *10^-1,然後儲存小數和指數n。小數部分儲存也是二進位制
101 = 1*2^-1 + 1*2^-3 = 0.5+0.125 = 0.625。
綜上,十進位制裡面的小數字數與此無絲毫關聯,所以沒法設定小數點後位數。
能是看一下你的問題嗎?一般不會有這種誤差的啊。
求c/c++ 程式設計 輸入乙個float型的資料,將整數和小數部分分別輸出,但有要求!!
3樓:匿名使用者
給你個思路:先將float強制轉換為int,就得到正數部分了,然後再用float減去這個int,就得到小數部分了
c語言中如何確定輸入的float型的小數點位數?
4樓:
輸入後,十進位制數變2進製。十進位制小數 化 2進製小數 常常 化不盡,所以用 大於小於來判斷float型是否正好大於小於某數值是困難的。
簡單辦法是用字串方法讀入,直接判斷字串。
float i;
char str[32];
int j,l;
scanf("%s",str);
sscanf(str,"%f",&i);
l = strlen(str);
然後查詢小數點,for (j=0;j 然後從最小的一位 str[l-1] 起迴圈,找到第乙個不是 0 的位置。 if (str[k] !='0') 算出位數。 (c++)double型的資料,如何保留小數點後四位? 5樓:匿名使用者 在計算時,可以使用floor函式+0.5來實現四捨五入。 例如:double a = 13.45656789; double b; b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/ 在輸出時,直接使用printf格式輸出實現保留小數點後四位。 例如:double a = 13.45656789; printf("%.4f",a); /*保留小數點後四位*/ 6樓:匿名使用者 四捨五入 保留四位小數 #include double a = 13.45656789; double b; b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/ 7樓:匿名使用者 以下為**: #include double a = 13.45656789; double b; b = floor(a * 10000.000f + 0.5) / 10000.000f; /*保留小數點後四位*/ 編譯 & 執行 c++ 程式方法: 1、開啟vs2010,選擇"visual c++開發設定",然後點選"啟動visual studio"。 2、"visual studio"選擇預設環境設定。 3、進入"visual studio"後點選新建專案。 4、在彈出視窗選擇 visual c++標籤下的空專案,輸入名稱以及儲存位置。 5、在左側的"解決方案資源管理器"中,選擇"原始檔"右擊,然後選擇"新增"->"新建項"。 6、在彈出視窗中,選擇"c++檔案(.cpp)",輸入檔名稱,單擊"新增"。 7、現在輸入具體的**,例如輸入簡單的hello world程式。 8、依次單擊"除錯"->"開始執行(不除錯)"或按ctrl+f5開始執行。 8樓:大海中的漂泊船 floor(value)+floor((value - floor(value)) * 10000+ 0.5) / 10000; 防止double資料太大,乘以10000後溢位; 9樓:御風__弄影 #include cout< 這就行了 10樓: a=((int)a*10000)/10000 11樓:匿名使用者 cout< cout<
12樓:成紅微生英飆 #include #include void main() 13樓:我真是瞎填的 c++格式怎麼變成c格式了 坐等!!! 程式設計序 要求輸入乙個浮點數,輸出時保留小數點後兩位,輸入的浮點數字數不定,用c語言程式設計 14樓:戊問鮃 這個實際上就是考察浮點型輸出位數的問題,如格式%m.nf, n就是輸出的小數字數,m是輸出地最少位數,明白了嗎 15樓:珍惜所有所愛 //是這樣嗎 #include void main() 16樓:夜貓叫楓子 #include int main( void ) 乙個c++菜鳥的問題 float double的精度是多少含小數點 17樓:匿名使用者 浮點顧名思義精度不固定。在接近儲存限制的時候小數點浮動精度下降。平時float7位 double15位含小數點 int 實際上是乙個類,它的基類是array.實際上,所有的陣列型別都是類,而且基類是array.int arr new int 10 實際上是建立了int這種型別的乙個物件,只是微軟為了讓大家習慣,就使用了類似c 的陣列定義方式。你的補充問題是不是這個意思 arr randques randque... 可以在bai函式中定義靜態型別 dustatic a 只能定義通zhi用型別,否則isempty 檢查不dao出來。if isempty a then 這樣保證回陣列只賦值 答一次redim a 5 as string 對陣列賦值操作 end if vba自定義函式,當引數是陣列時,該如何書寫?兩個... 比如int型別 dlinklisttar obj 就可以了 c 中我已經寫好了單鏈表的標頭檔案與標頭檔案中類函式的定義,怎麼在主函式中建立物件並呼叫?在main那裡要 include linklist.h 而不是cpp。然後你使用的是類模板,所以需要指定模板的型別 linklista r,5 這樣建...C裡返回值為int型別陣列的函式如何定義
VBA中如何在宣告自定義函式之前給陣列賦值
C含有的類如何在main函式中宣告定義其物件呢