sprintf 格式化字串

2022-03-24 14:10:16 字數 2580 閱讀 7056

sprintf() 函式把格式化的字串寫入變數中。

arg1、arg2、++ 引數將被插入到主字串中的百分號(%)符號處。該函式是逐步執行的。在第乙個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

注釋:如果 % 符號多於 arg 引數,則您必須使用佔位符。佔位符位於 % 符號之後,由數字和 "\$" 組成。請參見例子 2。

sprintf(format,arg1,arg2,arg++)
引數

描述format

必需。規定字串以及如何格式化其中的變數。

可能的格式值:

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

注釋:如果使用多個上述的格式值,它們必須按照以上順序使用。

arg1

必需。規定插到 format 字串中第乙個 % 符號處的引數。

arg2

可選。規定插到 format 字串中第二個 % 符號處的引數。

arg++

可選。規定插到 format 字串中第

三、四等 % 符號處的引數。

返回值:

返回已格式化的字串。

php 版本:

4+使用格式值 %f:

<?php

$number = 123;

$txt = sprintf("%f",$number);

echo $txt;

?>

執行例項

使用佔位符:

<?php

$number = 123;

$txt = sprintf("帶兩位小數:%1\$.2f

不帶小數:%1\$u",$number);

echo $txt;

?>

執行例項

對所有可能的格式值的演示:

<?php

$num1 = 123456789;

$num2 = -123456789;

$char = 50; // ascii 字元 50 是 2

// 注釋:格式值 "%%" 返回百分號

echo sprintf("%%b = %b",$num1)."

"; // 二進位制數

echo sprintf("%%c = %c",$char)."

"; // ascii 字元

echo sprintf("%%d = %d",$num1)."

"; // 帶符號的十進位制數

echo sprintf("%%d = %d",$num2)."

"; // 帶符號的十進位制數

echo sprintf("%%e = %e",$num1)."

"; // 科學計數法(小寫)

echo sprintf("%%e = %e",$num1)."

"; // 科學計數法(大寫)

echo sprintf("%%u = %u",$num1)."

"; // 不帶符號的十進位制數(正)

echo sprintf("%%u = %u",$num2)."

"; // 不帶符號的十進位制數(負)

echo sprintf("%%f = %f",$num1)."

"; // 浮點數(視本地設定)

echo sprintf("%%f = %f",$num1)."

"; // 浮點數(不視本地設定)

echo sprintf("%%g = %g",$num1)."

"; // 短於 %e 和 %f

echo sprintf("%%g = %g",$num1)."

"; // 短於 %e 和 %f

echo sprintf("%%o = %o",$num1)."

"; // 八進位制數

echo sprintf("%%s = %s",$num1)."

"; // 字串

echo sprintf("%%x = %x",$num1)."

"; // 十六進製制數(小寫)

echo sprintf("%%x = %x",$num1)."

"; // 十六進製制數(大寫)

echo sprintf("%%+d = %+d",$num1)."

"; // 符號說明符(正)

echo sprintf("%%+d = %+d",$num2)."

"; // 符號說明符(負)

?>

執行例項

對字串說明符的演示:

<?php

$str1 = "hello";

$str2 = "hello world!";

echo sprintf("[%s]",$str1)."

";echo sprintf("[%8s]",$str1)."

";echo sprintf("[%-8s]",$str1)."

";echo sprintf("[%08s]",$str1)."

";echo sprintf("[%'*8s]",$str1)."

";echo sprintf("[%8.8s]",$str2)."

";?>

執行例項

php string 函式

格式化字串 sprintf函式

有時候我們需要格式化乙個字串的內容,這時侯使用sprintf 函式特別方便,它的使用格式如下 int sprintf char buffer,const char format,argument buffer代表字串指標,format為格式化的樣式,其餘為引數。例如 char s 105 sprin...

sprintf 格式化字串函式

基本語法格式 sprintf 格式化型別 str1 str2 先別急我會乙個個慢慢說 先看一下型別參照表,也就是要轉換成什麼型別的格式 先舉個最簡單的案例 案例1.格式化多個變數 要點 s 符號和後面屬性符號 s 總稱為插入標記組合,也就是把後面準備進行格式化的值 str1 替換在這個位置 hell...

字串格式化命令 sprintf

int sprintf char buffer,const char format,argument buffer char型指標,指向將要寫入的字串的緩衝區。format 格式化字串。argument 可選引數,可以是任何型別的資料。返回值 字串長度 strlen sprintf格式的規格如下所示...