簡體   English   中英

%g精度問題

[英]Issue with %g precision

當我使用printf("%.6g\\n",36.666666662); ,我預計輸出36.666667 但實際產量為36.6667

我給出的格式有什么問題? 我的目標是有6位小數

這是正確的行為。 根據cplusplus.com

對於a,A,e,E,f和F說明符:這是小數點要打印的位數。

對於g和G說明符:這是要打印的最大有效位數。

如果你使用f代替g那么它將按預期工作。


示例代碼

#include <stdio.h>

int main(void) {
    printf("%.6g\n", 36.666666662);
    printf("%.6f\n", 36.666666662);
    return 0;
}

結果

36.6667
36.666667

看到它在線工作: ideone

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM