簡體   English   中英

printf / sprintf問題與刪除數字登錄

[英]printf / sprintf issue with remove sign on numbers

我有一個可能為負或正的數字,我希望它從sprintf()中彈出而沒有負或正號。 我該怎么辦?

我嘗試%d % d %- d %+ d % -d % +d ,其中沒有工作。

我嘗試了gcc 4.8.2和g ++ 4.8.2,它不起作用。 這是gcc中的錯誤嗎?

沒有格式字符串可應用絕對值功能。

這是您要做的:

#include <stdio.h>
#include <math.h>

void main()
{
  int num = -6000;
  printf("%d\n", abs(num));
}
  • %d會將34渲染為34 ,將-34渲染為-34
  • % d將把34渲染為(space)+ 34和-34渲染為-34
  • %+d將把34渲染為+34 ,將-34渲染為-34
  • "%5d將把34渲染為(三個空格)+ 34 ,將-34渲染為(兩個空格)+ -34 。它們都將使用字段大小5。
  • "%-5d將把34渲染為34 +(三個空格),將-34渲染為-34 +(兩個空格)。它們都將使用字段大小5,但由於- ,因此保持正當。

暫無
暫無

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

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