#include<stdio.h>
int main()
{
int num = 255;
num = num/10;
char buf[5];
itoa(num, buf,10);
printf("%s", buf);
return 0.
}
我想分10個整數,但我得到25(我應該得到25.5)的解決方案。後來我將它轉換爲整數字符串到ASCII函數。我有問題除以10的數字。指導我除以10,然後轉換成一個字符串
#include<stdio.h>
int main()
{
int num = 255;
num = num/10;
char buf[5];
itoa(num, buf,10);
printf("%s", buf);
return 0.
}
我想分10個整數,但我得到25(我應該得到25.5)的解決方案。後來我將它轉換爲整數字符串到ASCII函數。我有問題除以10的數字。指導我除以10,然後轉換成一個字符串
您需要使用浮點變量來獲得浮點結果。
嘗試
float num = 255;
num = num/10;
或者更習慣地說,'num/= 10;' – 2013-05-27 12:03:48
以後如何轉換成字符串? –
當存儲浮點值的整數的小數部分被扔掉。因此在num = num/10;
中num將是25,因爲它是一個int。
如果我用int代替double,那麼如何轉換成字符串?# –
@chux'float'自動上傳到'double'。 '%lg'不是有效的格式說明符 –
@Tom Tanner,當然你是對的。我正在考慮scanf()。 – chux
#include <stdio.h>
#include <string.h>
char buffer[20];
void main() {
float num = 255;
num = num/10;
sprintf(buffer, "%g", num);
printf("%s",buffer);
}
謝謝你Param !!! –
一個整數除以一個整數是一個整數,所以你得到25作爲結果。您需要將除數或分母先浮動或加倍。
要輸出的浮動安慰你可以使用printf
與%f
,%F
,%e
,%E
,%g
或%G
格式字符串。您可能還需要指定寬度和精度(請參閱printf)。
如果您確實需要字符串緩衝區,則可以使用sprintf
將結果寫入緩衝區。
#include<stdio.h>
int main()
{
float num = 255f;
num = num/10;
printf("%f\n", num);
return 0.
}
首先,num是(如指出的)整數,所以不能取小數值。
其次,itoa不標準。你應該使用snprintf(這不僅是標準的,它不易受緩衝區溢出的影響)。
所以:
#include <stdio.h>
int main()
{
float num = 255;
num = num/10;
char buf[5];
snprintf(buf, sizeof(buf), "%g", num);
printf("%s", buf);
return 0.
}
會做你想要什麼。
整數沒有小數點。你究竟想要做什麼? – Kangkan
您需要先了解[integer](http://en.wikipedia.org/wiki/Integer)是什麼。 – Clifford
你的問題已經有一些答案,請接受一個。 –