首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教一个字符格式化的有关问题

2012-08-09 
请问一个字符格式化的问题?有四个变量:float a,b,c,d;请问当变量a,b,c,d中不确定其中的数据是否有小数位?

请问一个字符格式化的问题?
有四个变量:
float a,b,c,d;
请问当变量a,b,c,d中不确定其中的数据是否有小数位?
我想格式化字符串的结果为: 有小数位的格式化为:%1.2f,没有小数位的格式化为整数显示。
比如:
a = 100;
b = 10.1;
c = 10;
d = 20.111;
格式化后的结果为: 100 10.10 10 20.11 
请问只用c语言的格式化,有没有什么办法高效的实现呀?

[解决办法]

C/C++ code
void GetFormat(char *format ,float f){    if (0 != *format)        strcat(format ,",");    if (f > (int)f)        strcat(format ,"%1.2f");    else        strcat(format ,"%.0f");}int main(){    float f1 = 100;    float f2 = 10.1;    float f3 = 10;    float f4 = 20.111;        char format[64] = {0};    GetFormat(format ,f1);    GetFormat(format ,f2);    GetFormat(format ,f3);    GetFormat(format ,f4);        char des[64] = {0};    sprintf(des ,format ,f1,f2,f3,f4);} 

热点排行