現在我們來舍近求遠:
(1) 用字符串存放double型定點小數 數據,找到小數點位置,把小數點後第5位 置 字符串 結束符,輸出 字符串。
(2) 另壹種,用 %g 格式,但它不壹定 始終 有效。
#include<stdio.h>
#include<stdlib.h>
main(){
double y=7.654321;
char str[30];
int i,n;
// try 1
sprintf(str,"%.15lf",y);
for (i=0;i<strlen(str);i++) if (str[i]=='.') {n=i;break;}
str[i+5]='\0';
printf("%s\n",str);
//try 2
y = ((int)(y*10000+0.5))/10000.0;
sprintf(str,"%g",y); // 用字符串
printf("%s\n",str);
printf("%g",y); // 直接輸出
return 0;
}
輸出:
7.6543
7.6543
7.6543