日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP中 sprintf()格式化输出详解

發布時間:2023/12/20 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP中 sprintf()格式化输出详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、定義和用法

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

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

注釋:如果%符號多于arg參數,則您必須使用占位符。占位符位于%符號之后,由數字和“\$”組成。

實例:

<?php $number = 2; $str = "Shanghai"; $txt = sprintf("There are %u million cars in %s.",$number,$str); echo $txt; ?> 運行結果為:There are 2 million cars in Shanghai.

語法

sprintf(format,arg1,arg2,arg++)
參數描述
format必需。規定字符串以及如何格式化其中的變量。
可能的格式值:
%% 返回一個百分號%
%b ?二進制數
%c ?ASCII值對應的字符
%d ?包含正負號的十進制數(負數、0、正數)
%e ?使用小寫的科學計數法(例如:1.2e+2)
%E ?使用大寫的科學計數法(例如:1.2E+2)
%u ?不包含正負號的十進制數(大于等于0)
%f ? 浮點數(本地設置)
%F ?浮點數(非本地設置)
%g ?較短的%e和%f
%G 較短的%E和%f
%O ?八進制數
%s ? 字符串
%x ?十六進制數(小寫字母)
%X ?十六進制數(大寫字母)

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

+(在數字前面加上+或-來定義數字的正負性。默認情況下,
只有負數才做標記,正數不做標記)
‘(規定使用什么作為填充,默認是空格。它必需與寬度指定器
一起使用。例如:%‘x20s(使用“x作為填充”))
-(左調整變量值)
[0-9](規定變量值的最小寬度)
.[0-9](規定小數位數或最大字符串長度)

注釋:如果使用多個上述的格式值,它們必需按照以上的順序使用。
arg1必需。規定插到format字符串中第一個%符號處的參數。
arg2可選。規定插到format字符串中第二個%符號處的參數。
arg++可選。規定插到format字符串中第三、四等%符號處的參數。






































技術細節:
返回值:返回已格式化的字符串

二、更多實例

1.使用格式值%f:

<?php

$number = 123;

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

echo $txt;

?>


?運行結果為:123.000000


2.使用占用符:

<?php

$number = 123;

$txt = sprintf("帶兩位小數:%\$.2f<br>不帶小數:%1\$u",$number);

echo $txt;

?>


運行結果為:帶有兩位小數:123.00

? ? ? ? ? ? ? ? ? ? ?不帶小數:123


3.對所有可能的格式值的演示


<?php

$num1 = 123456789;

$num2 = -123456789;

$char = 50; ? ? ? //ASCII字符50是2


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

echo sprintf("%%b = %b",$num1)."<br>"; ?//二進制數 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?結果:%b = 111010110111100110100010101


echo sprintf("%%c = %c",$char)."<br>"; ?//ASCII字符 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?結果:%c = 2


echo sprintf("%%d = %d",$num1)."<br>"; ?//帶符號的十進制數 ? ? ? ? ? ? ? ? ?結果:%d = 123456789


echo sprintf("%%d = %d",$num2)."<br>"; ?//帶符號的十進制數 ? ? ? ? ? ? ? ? ?結果:%d = -123456789


echo sprintf("%%e = %e",$num1)."<br>"; ?//科學計數法(小寫) ? ? ? ? ? ? ??結果:%e = 1.234568e+8


echo sprintf("%%E = %E",$num1)."<br>";//科學計數法(大寫) ? ? ? ? ? ? ? ?結果:%E = 1.234568E+8


echo sprintf("%%u = %u",$num1)."<br>";//不帶符號的十進制數(正) ? ? ?結果:%u = 123456789


echo sprintf("%%u = %u",$num2)."<br>";//不帶符號的十進制數(負) ? ? ?結果:%u =?4171510507


? ? echo sprintf("%%f = %f",$num1)."<br>";//浮點數(視本地設置) ? ? ? ? ? ? ? 結果:%f = 123456789.000000
echo sprintf("%%F = %F",$num1)."<br>";//浮點數(不視本地設置) ? ? ? ? 結果:%F = 123456789.000000

echo sprintf("%%g = %g",$num1)."<br>";//短于%e 和%f ? ? ? ? ? ? ? ? ? ? ? ? ? ?結果:%g = 1.23457e+8

echo sprintf("%%G = %G",$num1)."<br>";//短于%E和%f ? ? ? ? ? ? ? ? ? ? ? ? ??結果:%G = 1.23457E+8

echo sprintf("%%o = %o",$num1)."<br>";//八進制數 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??結果:%o = 726746425

echo sprintf("%%s = %s",$num1)."<br>";//字符串 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 結果:%s = 123456789

echo sprintf("%%x = %x",$num1)."<br>";//十六進制(小寫) ? ? ? ? ? ? ? ? ? ??結果:%x = 75bcd15

echo sprintf("%%X = %x",$num1)."<br>";//十六進制(大寫) ? ? ? ? ? ? ? ? ? ?結果:%X = 75BCD15

echo sprintf("%%+d = %+d",$num1)."<br>";//符號說明符(正) ? ? ? ? ? ? ? ?結果:%+d = +123456789

echo sprintf("%%+d = %+d",$num2)."<br>";//符號說明符(負) ? ? ? ? ? ? ? ?結果:%+d = -123456789

?>


4.對字符串說明符的演示 <?php

$str1 = "Hello";

$str2 = "Hello world";


echo sprintf("[%s]",$str1."<br>");

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

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

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

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

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

?>
運行結果為:[Hello] ? ? ? ? ? ? ? ? ? ? ? [ Hello] ? ? ? ? ? ? ? ? ? ? ? [Hello ] ? ? ? ? ? ? ? ? ? ? ? [000Hello] ? ? ? ? ? ? ? ? ? ? ? [***Hello] ? ? ? ? ? ? ? ? ? ? ? [Hello wo]

























此文章轉載自:http://www.w3school.com.cn/php/func_string_sprintf.asp























總結

以上是生活随笔為你收集整理的PHP中 sprintf()格式化输出详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。