c++中输出结果保留小数问题 如何让该C++代码输出结果保留两位小数

c++\u4e2d\u600e\u4e48\u8ba9\u8f93\u51fa\u7684\u6570\u4e3a\u4fdd\u7559\u4e24\u4f4d\u5c0f\u6570\u7684\u5f62\u5f0f

C++ \u6807\u51c6\u8f93\u51fa\u5982\u4f55\u63a7\u5236\u5c0f\u6570\u70b9\u540e\u4f4d #include #include using namespace std;int main( void ){const double value = 12.3456789; cout << value << endl;
// \u9ed8\u8ba4\u4ee56\u7cbe\u5ea6\uff0c\u6240\u4ee5\u8f93\u51fa\u4e3a 12.3457cout << setprecision(4) << value << endl; // \u6539\u62104\u7cbe\u5ea6\uff0c\u6240\u4ee5\u8f93\u51fa\u4e3a12.35cout << setprecision(8) << value << endl; // \u6539\u62108\u7cbe\u5ea6\uff0c
\u6240\u4ee5\u8f93\u51fa\u4e3a12.345679cout << fixed << setprecision(4) << value << endl; // \u52a0\u4e86fixed\u610f\u5473\u7740\u662f\u56fa\u5b9a\u70b9\u65b9\u5f0f\u663e\u793a\uff0c\u6240\u4ee5\u8fd9\u91cc\u7684\u7cbe\u5ea6\u6307\u7684\u662f\u5c0f\u6570\u4f4d\uff0c\u8f93\u51fa\u4e3a12.3457cout << value << endl;
// fixed\u548csetprecision\u7684\u4f5c\u7528\u8fd8\u5728\uff0c\u4f9d\u7136\u663e\u793a12.3457cout.unsetf( ios::fixed ); // \u53bb\u6389\u4e86fixed\uff0c
\u6240\u4ee5\u7cbe\u5ea6\u6062\u590d\u6210\u6574\u4e2a\u6570\u503c\u7684\u6709\u6548\u4f4d\u6570\uff0c\u663e\u793a\u4e3a12.35cout << value << endl;cout.precision( 6 ); // \u6062\u590d\u6210\u539f\u6765\u7684\u6837\u5b50\uff0c\u8f93\u51fa\u4e3a12.3457cout << value << endl;}

\u62d3\u5c55\u8d44\u6599\u53ef\u4ee5\u5728\u8f93\u51fa\u7684\u65f6\u5019\u9650\u5236\u5c0f\u6570\u70b9\u4f4d\u6570\u3002\u5f53\u8f93\u51fa\u5355\u7cbe\u5ea6\u6d6e\u70b9\u578bfloat\u53d8\u91cff\u65f6\uff0c\u53ef\u4ee5\u7528printf("%.2f", f);\u6765\u4f7f\u8f93\u51fa\u7ed3\u679c\u4fdd\u7559\u4e24\u4f4d\u6709\u6548\u6570\u5b57\u30022\u5c31\u662f\u4ee3\u8868\u4fdd\u7559\u4e24\u4f4d\uff0c\u5982\u679c\u8981\u4fdd\u7559\u4e09\u4f4d\u5c31\u662f%.3f\u3002\u7528%.0f\u5c31\u662f\u53ea\u8f93\u51fa\u6574\u6570\u3002

\u628acout<<"\u534e\u6c0f\u6e29\u5ea6="<<c<<"\n";\u6539\u6210cout<<"\u534e\u6c0f\u6e29\u5ea6="<<setiosflags(ios::fixed)<<setprecision(2)<<c<<"\n";\u5176\u4e2dsetiosflags(ios::fixed)\u7684\u4f5c\u7528\u662f\u8bbe\u7f6e\u6d6e\u70b9\u6570\u4ee5\u56fa\u5b9a\u7684\u5c0f\u6570\u4f4d\u6570\u663e\u793a\uff0csetprecision(2)\u662f\u8bbe\u7f6e\u6d6e\u70b9\u6570\u7684\u7cbe\u5ea6\u4e3a2\u4f4d\u3002\u6b64\u5916\u5934\u6587\u4ef6\u8fd8\u5f97\u5305\u62eciomanip.\u4f60\u518d\u8bd5\u8bd5\u3002

一楼所说的是用printf() 如果用cout的话可以用下面这种方式: #include<iomanip> //包含大量用于控制输出格式的函数
cout<<setprecision(1) //设置浮点数的精度
cout<<fixed //固定输出小数的宽度
如: float b=5.000;
cout<<fixed<<setprecision(1)<<b; // 则输出为5.0;
注意fixed和setprecision只需设置一次,则整个流将保持所指定的格式。

可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f",
f);来使输出结果保留两位有效数字。

感觉c的io比 iostream 好用些

输出%.2f就可以了

  • 鎬庝箞鐢c璇█璁╀竴涓暟淇濈暀2浣灏忔暟
    绛旓細瑕淇濈暀涓涓暟鐨勪袱浣灏忔暟锛屽彲浠ュ湪printf鍑芥暟涓娇鐢ㄢ%.2f鈥濈殑鏍煎紡瀛楃涓层傝繖閲岀殑鈥.2鈥濊〃绀鸿緭鍑烘诞鐐规暟鏃朵繚鐣欎袱浣嶅皬鏁般備緥濡傦細c float num = 3.14159;printf; // 杈撳嚭缁撴灉涓猴細3.14 鍦ㄨ繖涓緥瀛愪腑锛屸%.2f鈥濆憡璇夌紪璇戝櫒灏唍um鍙橀噺浠ヤ繚鐣欎袱浣嶅皬鏁扮殑褰㈠紡杈撳嚭銆備笁銆佺悊瑙f诞鐐规暟鐨勭簿搴闂 闇瑕佹敞鎰忕殑鏄紝...
  • c璇█濡備綍璁杈撳嚭鐨缁撴灉涓灏忔暟?
    绛旓細1.棣栧厛闇瑕佸畾涔変竴涓彉閲忎綔涓哄悗缁渶瑕杈撳嚭鐨勬暟銆傝繖閲屼互瀹氫箟涓涓彉閲廰涓轰緥銆傞渶瑕佹敞鎰忕殑鏄紝鏁村瀷int鏄笉鏀寔杞寲鐨勩2.鐒跺悗浣跨敤scanf()鍑芥暟鎺ュ彈浠庨敭鐩樿緭鍏ョ殑涓涓暟锛岃繖鏍峰氨涓哄彉閲廰鎴愬姛璧嬪笺3.鎺ョ潃浣跨敤printf璇彞鏉ュ鏁癮杩涜灏忔暟鍖栫殑澶勭悊銆傚鐞嗘牸寮忎负锛氥%.锛堥渶瑕淇濈暀鐨勫皬鏁颁綅鏁帮級鏁扮殑鏍煎紡绗︺戯紝杩欓噷婕旂ず...
  • c璇█涓浣淇濈暀涓や綅灏忔暟?
    绛旓細杈撳叆printf("%5.2f",a)锛屽叾涓5琛ㄧず瀹藉害锛2灏辨槸绮惧害锛屽嵆淇濈暀涓や綅灏忔暟銆2.璁剧疆灏忔暟浣嶆暟娉曪細cout<<setiosflags(ios::fixed)<<setprecision(2);褰搒etiosflags(ios::fixed)鍜宻erprecision(n)涓や釜涓璧风敤鏃跺氨琛ㄧず淇濈暀n浣灏忔暟杈撳嚭銆傝繖閲岃繕瑕佹敞鎰忥紝姣忔杈撳嚭鍙璁剧疆涓娆″氨琛屼簡锛屽洜涓鸿繖涓や釜鐨勪綔鐢ㄨ寖鍥存槸鍚庣画瀵...
  • c璇█ double绫诲瀷淇濈暀灏忔暟闂鐨勮В鍐虫柟娉?
    绛旓細double绫诲瀷淇濈暀灏忔暟鏈変袱绉嶆儏鍐碉細\x0d\x0a1 鍦杈撳嚭鏃朵繚鐣欎袱浣嶅皬鏁帮細\x0d\x0a鐢╬rintf閫氳繃鏍煎紡瀛楃鍗冲彲鎺у埗灏忔暟鐨勪繚鐣欍俓x0d\x0a濡俓x0d\x0adouble a = 1.234;\x0d\x0aprintf(".2lf",a);\x0d\x0a浼氳緭鍑1.23\x0d\x0a2 鍦ㄨ繍琛岃繃绋涓粨鏋滀繚鐣涓や綅灏忔暟銆俓x0d\x0a鍙互鍊熷姪杞负...
  • C璇█:鎬庝箞鏍蜂娇缁撴灉杈撳嚭鏃淇濈暀涓浣灏忔暟;淇濈暀涓や綅灏忔暟?
    绛旓細鐢ㄥ畾鐐规牸寮忋俧loat 鍨 %.2f 灏辨槸灏忔暟2浣嶏紝 %.1f 灏辨槸灏忔暟1浣嶃俤ouble 鍨 鐢 %.2f 灏辨槸灏忔暟2浣嶏紝 %.1f 灏辨槸灏忔暟1浣嶃俤ouble 鍨 鐢 %.2lf 灏辨槸灏忔暟2浣嶏紝 %.1lf 灏辨槸灏忔暟1浣嶃
  • C璇█涓緭鍑鏃舵庢牱鎺у埗灏忔暟鐐瑰悗鐨勪綅鏁,璇蜂妇渚嬭鏄淇濈暀1銆2銆3銆4...
    绛旓細鍦C鐨勭紪绋嬩腑锛屾讳細閬囧埌娴偣鏁扮殑澶勭悊锛屾湁鐨勬椂鍊欙紝鎴戜滑鍙渶瑕淇濈暀2浣灏忔暟浣滀负杈撳嚭鐨缁撴灉锛岃繖鏃跺欙紝闂鏉ヤ簡锛屾庢牱鎵嶈兘璁ヽout杈撳嚭鎸囧畾鐨勫皬鏁扮偣鍚庝繚鐣欎綅鏁板憿锛熷湪C璇█鐨勭紪绋嬩腑锛屾垜浠彲浠ヨ繖鏍峰疄鐜板畠锛歔cpp] view plain copy printf("%.2f", sample);鍦–++涓紝鏄病鏈夋牸寮忕鐨勶紝鎴戜滑鍙互閫氳繃浣跨敤setprecision...
  • C璇█ 姝ら杈撳嚭鐨缁撴灉濡備綍淇濈暀涓や綅灏忔暟
    绛旓細鏍煎紡鍖杈撳嚭锛歱rintf("l=%.2lf",l)锛屽湪%鍚庣偣涓涓皬鏁扮偣锛岀劧鍚庤緭鍏ラ渶瑕淇濈暀灏忔暟鐨勬暟閲忥紝灏卞彲浠ヨ緭鍑烘兂瑕佺殑缁撴灉銆俻rintf()鍑芥暟鏄牸寮忓寲杈撳嚭鍑芥暟, 涓鑸敤浜庡悜鏍囧噯杈撳嚭璁惧鎸夎瀹氭牸寮忚緭鍑轰俊鎭俻rintf()鍑芥暟鐨勮皟鐢ㄦ牸寮忎负: printf("<鏍煎紡鍖栧瓧绗︿覆>", <鍙傞噺琛>)銆傛牸寮忚緭鍑猴紝瀹冩槸c璇█涓骇鐢熸牸寮忓寲杈撳嚭鐨勫嚱鏁...
  • C璇█璁$畻鍑虹殑缁撴灉涓庝箞淇濈暀灏忔暟鐐瑰悗涓や綅?
    绛旓細鍙互鐢╘x0d\x0aprintf("%.2f", f);\x0d\x0a鏉ヤ娇杈撳嚭缁撴灉淇濈暀涓や綅鏈夋晥鏁板瓧銆傚叾涓.2灏辨槸浠h〃淇濈暀涓や綅锛屽鏋滆淇濈暀涓変綅灏辨槸%.3f銆傜敤%.0f灏辨槸鍙緭鍑烘暣鏁般俓x0d\x0a\x0d\x0a濡傛灉鏄弻绮惧害娴偣鏁癲ouble锛屽氨闇瑕佺敤%.2lf鏉ヤ娇杈撳嚭缁撴灉淇濈暀2浣灏忔暟銆
  • C璇█涓緭鍑鏃舵庢牱鎺у埗灏忔暟鐐瑰悗鐨勪綅鏁,璇蜂妇渚嬭鏄淇濈暀1銆2銆3銆4...
    绛旓細鎴戜滑鍦杈撳嚭璇彞涓婂姞濡0.灏辫浜嗭紝姣斿printf("%0.2f",a); 灏辨槸淇濈暀2浣.涓婁唬鐮 include <stdio.h> int main(){ double a = 1.11111111;printf("%0.Mf",a); //灏哅鏀逛负浣犳兂淇濈暀鐨勫嚑浣灏忔暟 return 0;} 鍐嶄笂缁撴灉鍥撅細
  • c璇█淇濈暀涓浣灏忔暟鏄粈涔堟剰鎬 ?
    绛旓細淇濈暀涓浣嶅皬鏁板氨鏄彧淇濈暀涓浣嶅皬鏁般傚簲璇ユ敼涓簆rint("% .1 f",x),鈥斺旓紙1鐨勫墠闈㈡湁涓皬鏁扮偣锛夎〃绀鸿緭鍑虹簿纭鍒板皬鏁扮偣鍚1浣嶃傚鏋滃疄闄呮暟瀛椾笉瓒1浣嶏紝鍒欏湪鏈熬琛0锛岃嫢澶т簬1浣嶏紝鍒欐寜鍥涜垗浜斿叆鍙栧墠涓浣嶃傚叿浣撳疄鐜版柟娉曡涓嬩緥锛歠loat x = 3.1415926;printf("%.1f", x); // 杈撳嚭缁撴灉涓3.1銆傜畝浠...
  • 扩展阅读:扫一扫题目出答案 ... c++反向输出一个三位数 ... c++输出保留两位小数 ... c++如何输出两位小数 ... c++如何保留两位小数 ... c++输出小数点后三位 ... c++怎么保留小数 ... c++保留一位小数方法 ... c++如何保留小数点后一位 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网