[英]Why do printf implementators prefer to print “%a” numbers with a leading 1?
[英]Print a leading '+' for positive numbers in printf
我有一個溫度轉換程序作為作業,我已經完成了。 該程序中有許多打印溫度的printf
語句。 現在負溫度以我想要的方式打印,但正溫度打印時沒有前導+
號。
現在讓printf
打印正數的前導+
符號的最佳方法是什么。 我能想到的就是改變
printf("Min temp = %d\n",max_temp)
到
if(max_temp > 0)
printf("+");
printf("Min temp = %d\n",max_temp)
但這需要對程序進行許多更改:(
另一種選擇是編寫我自己的打印函數並將此邏輯放在那里。 你有什么建議?
您可以使用printf的+
標志打印帶有前導+
符號的正數:
printf("%+d %+d",10,-10); // prints +10 -10
添加+標志。 這是一個例子。
int n;
printf("%+d", n);
(假設n是一個int - 只替換其他數字類型的%d)
我想你的意思是做以下事情,
double num1 = 1.;
// print num1 with leading "+";
printf("%s%lf\n",num1>0.?"+":"",num1); // +1.000000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.