c语言如何输出浮点数?
float 为单精度,有效数字为6~7 double 为双精度,有效数字为15~16 但他们在输出时,小数点后都有6位小数。 如: main() { int a=15; float b=123.1234567; double c=12345678.1234567; char d='p'; printf("a=%d,%5d,%o,%x\n",a,a,a,a); printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b); printf("c=%lf,%f,%8.4lf\n",c,c,c); printf("d=%c,%8c\n",d,d); printf("e=%11.2",c); } 本例第七行中以四种格式输出整型变量a的值,其中“%5d ”要求输出宽度为5,而a值为15只有两位故补三个空格。 第八行中以四种格式输出实型量b的值。其中“%f”和“%lf ”格式的输出相同,说明“l”符对“f”类型无影响。“%5.4lf”指定输出宽度为5,精度为4,由于实际长度超过5故应该按实际位数输出,小数位数超过4位部分被截去。第九行输出双精度实数,“%8.4lf ”由于指定精度为4位故截去了超过4位的部分。第十行输出字符量d,其中“%8c ”指定输出宽度为8故在输出字符p之前补加7个空格,最后一行输出为12345678.12 这时小数点占一位。 20记得采纳啊
绛旓細鍒╃敤C璇█浣杈撳嚭鍊间负灏忔暟鐨勭紪绋嬫柟娉曞拰鎬濇兂濡備笅锛1.棣栧厛闇瑕佸畾涔変竴涓彉閲忎綔涓哄悗缁渶瑕佽緭鍑虹殑鏁般傝繖閲屼互瀹氫箟涓涓彉閲廰涓轰緥銆傞渶瑕佹敞鎰忕殑鏄紝鏁村瀷int鏄笉鏀寔杞寲鐨勩2.鐒跺悗浣跨敤scanf()鍑芥暟鎺ュ彈浠庨敭鐩樿緭鍏ョ殑涓涓暟锛岃繖鏍峰氨涓哄彉閲廰鎴愬姛璧嬪笺3.鎺ョ潃浣跨敤printf璇彞鏉ュ鏁癮杩涜灏忔暟鍖栫殑澶勭悊銆傚鐞嗘牸寮忎负锛氥%....
绛旓細float i;for(i=-2;i<=2;i++){ if(i<0)printf("%.4f\n",i);else printf("+%.4f\n",i);}
绛旓細10.4f鏄敤浜杈撳嚭娴偣鏁鐨勬牸寮忓瓧绗︿覆锛岃緭鍑烘椂淇濈暀鍥涗綅灏忔暟锛岃緭鍑哄搴︿负10浣嶏紝涓嶈冻鍗佷綅鍙充晶琛ョ┖鏍硷紝瓒呰繃鍗佷綅鎸夊疄闄呭搴﹁緭鍑恒1銆%f鐢ㄤ簬杈撳嚭娴偣鏁帮紝瀵瑰簲绫诲瀷涓篺loat锛2銆佸崟鐙殑%f榛樿6浣嶅皬鏁帮紝鍙互閫氳繃%m.nf鐨勫舰寮忥紝鎺у埗杈撳嚭灏忔暟浣嶆暟鍜屽搴︺傚叾涓璵鍜宯鍧囦负姝f暣鏁帮紝n琛ㄧず杈撳嚭灏忔暟浣嶆暟锛宮琛ㄧず杈撳嚭瀹藉害锛屽鏋...
绛旓細鍦C璇█涓锛%f 鏄敤鏉ユ牸寮忓寲杈撳嚭娴偣鏁鐨勬牸寮忔帶鍒剁銆傚綋浣跨敤 %4f 杩欐牱鐨勬牸寮忔帶鍒剁鏃讹紝瀹冭〃绀鸿緭鍑虹殑娴偣鏁颁細琚牸寮忓寲涓鸿嚦灏 4 浣嶅搴︾殑瀛楃锛屽叾涓寘鎷皬鏁扮偣鍜屽皬鏁伴儴鍒嗙殑浣嶆暟銆傚鏋滀綘鎯虫帶鍒惰緭鍑虹殑灏忔暟浣嶆暟锛屽彲浠ュ湪 %f 鍚庨潰鍔犱笂 .n锛屽叾涓 n 浠h〃浣犳兂瑕佷繚鐣欑殑灏忔暟浣嶆暟銆備緥濡傦紝%.2f 琛ㄧず淇濈暀涓や綅灏忔暟銆
绛旓細闇瑕佸噯澶囩殑鏉愭枡鍒嗗埆鏈夛細鐢佃剳銆C璇█缂栬瘧鍣ㄣ1銆侀鍏堬紝鎵撳紑C璇█缂栬瘧鍣紝鏂板缓涓涓垵濮.cpp鏂囦欢锛屼緥濡傦細test.cpp銆2銆佸湪test.cpp鏂囦欢涓紝杈撳叆C璇█浠g爜锛歱rintf("%.2f", 3.1415);銆3銆佺紪璇戝櫒杩愯test.cpp鏂囦欢锛屾鏃舵垚鍔熷皢娴偣鏁淇濈暀浜嗗皬鏁扮偣鍚庨潰2浣嶈繘琛屼簡杈撳嚭銆
绛旓細鍙互鏀规垚printf("%.1f\n",sum);缁撴灉瑙佷笅鍥撅細
绛旓細棣栧厛浣犵殑瀹氫箟涓涓娴偣鏁鍙橀噺锛屽畾涔夋柟娉曪細 float xxx锛涚劧鍚杈撳嚭鐨勬椂鍊欎娇鐢%f鏍煎紡 printf锛堚%f鈥濓紝xxx锛夛紱
绛旓細include<stdio.h> int main(){ double num;int bit;printf("璇疯緭鍏ヤ竴涓娴偣鏁锛");scanf("%lf", &num);printf("璇疯緭鍏ヨ璁剧疆鐨勫皬鏁颁綅鏁帮細");scanf("%d", &bit);printf("Num=%.*lf\n", bit, num);return 0;}
绛旓細1.鍙岀簿搴娴偣鍨嬫暟鎹鐢%lf杈撳嚭銆傚洜涓篸ouble鏄8涓瓧鑺傜殑锛宖loat鏄4涓瓧鑺傜殑锛%f 鐨勬牸寮忓氨鏄4涓瓧鑺傜殑锛岃 %lf 灏辨槸8涓瓧鑺傜殑銆 渚嬪锛歱rintf("%lf\n",x);2.short 鍗犵敤鍐呭瓨绌洪棿2涓瓧鑺傦紝鐭暣鍨嬫暟鎹敤%d杈撳嚭 渚嬪锛歱rintf("%d\n",a);渚嬶細include <stdio.h> int main(){double x;short...
绛旓細鍙互杩欐牱 printf("%x", *((int*)(&a)));鎴栬 union t{ int a; float f;};union t m;m.f=1.0;printf("%x", m.a);