簡體   English   中英

在 printf 中為正數打印前導“+”

[英]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.

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