C语言如何控制保留小数位数? C语言如何用变量控制小数位数

c\u8bed\u8a00\u5982\u4f55\u63a7\u5236\u5c0f\u6570\u4f4d\u6570

\u53ef\u4ee5\u5728\u8f93\u51fa\u65f6\uff0c\u6307\u5b9a\u5c0f\u6570\u70b9\u540e\u7684\u6709\u6548\u4f4d\u6570\uff0c\u5b9e\u73b0\u7cbe\u786e\u5230\u82e5\u5e72\u4f4d\u7684\u6548\u679c\u3002\u8981\u7cbe\u786e\u5230\u5c0f\u6570\u70b9\u540e\u82e5\u5e72\u4f4d\uff0c\u5219\u6570\u636e\u7c7b\u578b\u4e3a\u6d6e\u70b9\u578b\uff0c\u53ef\u80fd\u4e3a\u5355\u7cbe\u5ea6(float)\u6216\u53cc\u7cbe\u5ea6(double)\u3002\u5728C\u8bed\u8a00\u4e2d\uff0c\u4f7f\u7528\u683c\u5f0f\u5316\u8f93\u51fa\u51fd\u6570printf\u6765\u5b9e\u73b0\u8f93\u51fa\u3002\u8f93\u51fa\u683c\u5f0f\u4e3a%.NF1 %\u4e3a\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u7684\u5f15\u5bfc\u5b57\u7b26\u30022 .N\u8868\u793a\u6307\u5b9a\u663e\u793aN\u4f4d\u5c0f\u6570\u30023 F\u4e3a\u7c7b\u578b\u5b57\u7b26\uff0c\u5bf9\u4e8efloat, F\u503c\u4e3af\uff0c \u5bf9\u4e8edouble\uff0cF\u503c\u4e3alf\u3002\u4e3e\u4f8b:1 \u8981\u8f93\u51fafloat a=1.23234; \u4fdd\u75593\u4f4d\u5c0f\u6570\u7684\u5199\u6cd5\u4e3a\uff1aprintf("%.3f",a);2 \u8f93\u51fadouble b=123.345232; \u4fdd\u75594\u4e3a\u5c0f\u6570\uff0c\u5199\u6cd5\u4e3a\uff1aprintf("%.4lf",b);

\u5148\u628a\u8981\u63a7\u5236\u7684\u6570\u5b57\u5148\u4e58\uff0c\u518d\u53d6\u6574\uff0c\u518d\u9664\u3002
\u6bd4\u5982\uff1a\u628a123.4567\u4fdd\u7559\u4e24\u4f4d
1:\u5148\u628a123.4567\u5269100\u7b49\u4e8e12345.67
2:\u5728\u6570\u5b57\u524d\u9762\u52a0\u4e2a(int)(12345.67)\u53d6\u65743:\u53d6\u6574\u540e\u6570\u5b57\u53d8\u621012345
4:\u6700\u540e\u518d\u628a\u8fd9\u4e2a\u6570\u9664\u4ee5100\u7b49\u4e8e123.45

int postfix = 0;
char format[10] = {0};
float a = 3.14159265;

scanf("%d", &postfix); //读入需要保留的小数位数
sprintf(format, "%%.%df", postfix); //比如输入3,那么format里就是"%.3f",也就是保留三位小数

printf(format, a);

这个很简单。printf("%.2f\n",x);当然x是float型的。输出就是两位小数。就是在f前+小数点+保留小数的位数。

  • C璇█涓杈撳嚭鏃鎬庢牱鎺у埗灏忔暟鐐瑰悗鐨浣嶆暟,璇蜂妇渚嬭鏄淇濈暀1銆2銆3銆4...
    绛旓細鎺у埗灏忔暟浣嶆暟灏辨槸閫氳繃杈撳嚭鏍煎紡璇存槑绗︽潵瑙勫畾鐨 涓句緥璇存槑濡備笅锛1銆乫loat f1=3.1415926;2銆乫loat f2=1234.1415926;3銆乫loat f3=124.1;4銆乸rintf("%3.4f",f1);//杈撳嚭缁撴灉涓猴細_ _ 3.1416(_琛ㄧず绌烘牸)5銆乸rintf("%3.4f",f2);//杈撳嚭缁撴灉涓猴細1234.1416 6銆乸rintf("%3.4f",f3);//杈撳嚭缁撴灉...
  • C璇█杈撳嚭涓や綅灏忔暟濡備綍淇濈暀涓浣嶅皬鏁鍛?
    绛旓細1.鎵撳紑缂栬瘧杞欢锛屽涓嬪浘 2.鏂板缓绫伙紝缂栧啓浠g爜锛屽涓嬪浘 3.鐐瑰嚮杩愯浠g爜锛屽涓嬪浘锛4.鏌ョ湅杈撳嚭缁撴灉锛屽彧鏈変袱浣嶅皬鏁帮紝濡備笅鍥 5.濡傛灉鎯宠淇濈暀涓浣嶅皬鏁锛屽彧瑕佹妸print("%.2f",num);涓殑2鏀规垚涓夊氨琛岋紝濡備笅鍥
  • C璇█涓杈撳嚭鏃鎬庢牱鎺у埗灏忔暟鐐瑰悗鐨浣嶆暟,璇蜂妇渚嬭鏄淇濈暀1銆2銆3銆4...
    绛旓細鍦–++涓紝鏄病鏈夋牸寮忕鐨勶紝鎴戜滑鍙互閫氳繃浣跨敤setprecision()鍑芥暟鏉ュ疄鐜拌繖涓渶姹銆傛兂瑕佷娇鐢╯etprecision()鍑芥暟锛屽繀椤诲寘鍚ご鏂囦欢#include <iomanip>銆備娇鐢ㄦ柟寮忓涓嬶細[cpp] view plain copy cout << "a=" << setprecision(2) << a <<endl;杩欐椂鍊欙紝鎴戜滑浼氬彂鐜帮紝濡傛灉a鐨勫间负0.20001锛岃緭鍑虹殑缁撴灉涓篴=0....
  • C璇█杈撳嚭鍊濡備綍淇濈暀灏忔暟浣嶆暟??
    绛旓細1.棣栧厛闇瑕佸畾涔変竴涓彉閲忎綔涓哄悗缁渶瑕佽緭鍑虹殑鏁般傝繖閲屼互瀹氫箟涓涓彉閲廰涓轰緥銆傞渶瑕佹敞鎰忕殑鏄紝鏁村瀷int鏄笉鏀寔杞寲鐨勩2.鐒跺悗浣跨敤scanf()鍑芥暟鎺ュ彈浠庨敭鐩樿緭鍏ョ殑涓涓暟锛岃繖鏍峰氨涓哄彉閲廰鎴愬姛璧嬪笺3.鎺ョ潃浣跨敤printf璇彞鏉ュ鏁癮杩涜灏忔暟鍖栫殑澶勭悊銆傚鐞嗘牸寮忎负锛氥%.锛堥渶瑕淇濈暀鐨灏忔暟浣嶆暟锛夋暟鐨勬牸寮忕銆戯紝杩欓噷婕旂ず...
  • 濡備綍鐢c璇█鎺у埗鏁板瓧鐨勬湁鏁浣嶆暟?
    绛旓細C璇█鎺у埗杈撳嚭鏁板瓧鐨勬湁鏁堜綅鏁板彲浠ヤ娇鐢╬rintf()鍑芥暟鏍煎紡鍖栬緭鍑烘牸寮銆俻rintf()鍑芥暟鐨勮皟鐢ㄦ牸寮忎负: printf("<鏍煎紡鍖栧瓧绗︿覆>", <鍙傞噺琛>)銆傚叾涓牸寮忓寲瀛楃涓插彲浠ユ帶鍒惰緭鍑烘暟瀛楃殑鏈夋晥浣嶆暟锛屽彧瑕佸皢鏍煎紡鍖栧瓧绗︿覆涓姞鍏%x.y灏卞彲浠ヨ缃緭鍑虹殑鏁板瓧鐨勪綅鏁颁簡銆倄鎸囧畾鏁版嵁鐨勫搴︼紝鍗冲湪杈撳嚭鏃跺彲浠ヨ緭鍑虹殑鏈澶氭暟瀛椾綅鏁帮紱y鎸囧畾...
  • c璇█涓浣曚繚鐣涓や綅灏忔暟?
    绛旓細鐢C璇█鐨勬柟娉曪細杈撳叆printf("%5.2f",a)锛屽叾涓5琛ㄧず瀹藉害锛2灏辨槸绮惧害锛屽嵆淇濈暀涓や綅灏忔暟銆2.璁剧疆灏忔暟浣嶆暟娉曪細cout<<setiosflags(ios::fixed)<<setprecision(2);褰搒etiosflags(ios::fixed)鍜宻erprecision(n)涓や釜涓璧风敤鏃跺氨琛ㄧず淇濈暀n浣嶅皬鏁杈撳嚭銆傝繖閲岃繕瑕佹敞鎰忥紝姣忔杈撳嚭鍙璁剧疆涓娆″氨琛屼簡锛屽洜涓鸿繖涓や釜鐨...
  • C璇█濡備綍鎺у埗淇濈暀灏忔暟浣嶆暟?
    绛旓細int postfix = 0;char format[10] = {0};float a = 3.14159265;scanf("%d", &postfix); //璇诲叆闇瑕淇濈暀鐨灏忔暟浣嶆暟 sprintf(format, "%%.%df", postfix); //姣斿杈撳叆3锛岄偅涔坒ormat閲屽氨鏄"%.3f"锛屼篃灏辨槸淇濈暀涓浣嶅皬鏁 printf(format, a);...
  • c璇█濡備綍鎺у埗杈撳叆鐨勬暟鍙兘淇濈暀灏忔暟鐐瑰悗鍏綅銆備緥濡,鎴戠‖鏄緭0.1234568...
    绛旓細璧嬬粰b * F 銆丯銆乭銆乴鍒嗗埆琛ㄧず杩滄寚閽堛佽繎鎸囬拡銆佺煭鏁村拰闀挎暣鍨嬶紝瀵逛簬_int64鐩稿簲鐨鎺у埗瀛楃涓簂l鎴朓64 * "绫诲瀷瀛楃"涓 d -- 杈撳叆鍗佽繘鍒舵暣鏁 銆乷 -- 杈撳叆鍏繘鍒舵暣鏁 銆亁 -- 杈撳叆鍗佸叚杩涘埗鏁存暟 銆乽 -- 杈撳叆鏃犵鍙峰崄杩涘埗鏁存暟 f鎴杄 -- 杈撳叆瀹炲瀷鏁(鐢灏忔暟褰㈠紡鎴栨寚鏁板舰寮) 銆c -- 杈撳叆...
  • 濡備綍鍦ㄧ▼搴忛噷淇濈暀涓や綅灏忔暟?
    绛旓細1 浣跨敤cout杈撳嚭銆俢out鏄疌++鐨勬爣鍑嗚緭鍑烘祦锛屽湪iomanip澶存枃浠朵腑鏈夊鍏惰繘琛屾牸寮忔搷浣滅殑鍑芥暟銆傚叾涓璼etiosflags(ios::fixed)鍙互璁剧疆浠ユ诞鐐规暟褰㈠紡杈撳嚭锛宻etprecision鍑芥暟鍙互璁剧疆绮惧害銆備簬鏄淇濈暀涓や綅灏忔暟杈撳嚭鐨勭▼搴忓彲浠ュ啓鎴愶細include<iostream>#include<iomanip>using namespace std;int main(){float v = 1.54321;cout...
  • c璇█濡備綍鎺у埗灏忔暟浣嶆暟
    绛旓細鍦C璇█涓锛屼娇鐢ㄦ牸寮忓寲杈撳嚭鍑芥暟printf鏉ュ疄鐜拌緭鍑恒傝緭鍑烘牸寮忎负%.NF1 %涓烘牸寮忓寲瀛楃涓茬殑寮曞瀛楃銆2 .N琛ㄧず鎸囧畾鏄剧ずN浣嶅皬鏁銆3 F涓虹被鍨嬪瓧绗︼紝瀵逛簬float, F鍊间负f锛 瀵逛簬double锛孎鍊间负lf銆備妇渚:1 瑕佽緭鍑篺loat a=1.23234; 淇濈暀3浣嶅皬鏁扮殑鍐欐硶涓猴細printf("%.3f",a);2 杈撳嚭double b=123.345232; ...
  • 扩展阅读:c++输出保留两位小数 ... c语言保留三位小数0.3 ... c语言怎么精确小数 ... c中如何保留四位小数 ... c语言%f输出一位小数 ... c语言结果保留3位小数 ... c语言输出保留2位小数 ... c语言怎么保留n位小数 ... c 保留一位小数如何编写 ...

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