2010-07-15 125 views
-1

我現在想知道的,這意味着該行:printf的類型說明符

的printf( 「答:%00010.6f」,22);

他打印:022.000000。但方式?我知道6f表示浮動。

thansk答案

回答

0

此格式字符串意味着:

  • 使用0作爲填充字符
  • 填充到最小的前3個字符。 (2→002,23→023,更長的數字保持原樣)
  • 正好顯示10個字符(包括分隔符)
  • 使用。爲十進制定界符
  • 定界符
  • 系浮法
+0

寬度說明符(本例中爲10)不是最小值,而是實際寬度。 printf(「%00010.6f \ n」,22.1234567891234); 顯示 022.123457 – GreenMatt 2010-07-15 19:00:04

+0

謝謝你,我改變了 – 2010-07-15 19:05:39

0

的printf( 「答:%F」,22)將輸入號碼22的字符串:在 「%F」 的地方 「接聽%F」,並打印出來作爲float(「f」是「float」)。 「%」和「f」之間的數字用於設置格式 - 打印輸出的位數。

1

printf()語法和含義有很好的文檔記錄。看看printf(3) man pageWikipedia printf entry

您給出的特定示例意味着:打印一個浮點數。在小數點後面給它6個字符。然後用零作爲前綴,直到它至少包含10個字符。

2

後最初認爲這是C(長習慣的結果)後6位數字顯示,我知道這是PHP。大致相同,但常數似乎處理不同。

無論如何,在代碼中的參數分解如下:

  • F =打印作爲一個浮點數
  • 10 =總場的十位數字
  • 000 =打印到寬度適用時有3個前導零(即,如果小數點左邊沒有3位有效數字)
  • 。 =使用點作爲小數分隔
  • 6 =六位小數

這似乎是PHP的printf打印參數後,實際上是在sprintf page