请教printf()函数参数问题

有一段代码是这样的
 #include "apdefap.h"
 void OnClick(char* lpszPictureName, char* lpszObjectMame,char* lpszPropertyName)
 {
 float fNumber;
 double dNnmber;
 fNumber = 1.0000001
 dNnmber = 1.0000001
 printf("float:\t\%2.17f\sizeof(float):\t%d\r\n"
       "double:\t\%2.17f\sizeof(double):\t%d\r\n" ,
         fNumber, sizeof(float), dNnmber,sizeof(double));
 }
 我不明白输出浮点数值用%f不就可以了吗?为什么他还在%f之间加个2.17数值进去呢?

最佳答案

这是printf输出格式:
 m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位
 m在WinCC中似乎被忽略了,效果跟%.17f是一样的,即小数位数为17位。

提问者对于答案的评价:
谢谢!
 

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐