導航:首頁 > 編程語言 > sprintf函數php

sprintf函數php

發布時間:2022-12-22 11:58:14

『壹』 php中sprintf怎麼用與printf,vprintf各有什麼區別和聯系

int fprintf()(FILE *stream, const char *format, ...)
fprintf()轉化並格式化地寫入輸出流。返回值是寫入的字元個數;或者為負數,如果有錯誤發生。

int printf()(const char *format, ...)
printf(...)與fprintf(stdout, ...)等價。

int sprintf(char *s, const char *format, ...)
sprintf與printf相同,只是輸出被寫入字元串s,並且以』\0』結束。s必須足夠大以容納結果。函數返回不包括』\0』的字元數。

int vprintf(const char *format, va_list arg)
函數vprintf與printf等價,只是用arg替換了變數參數列表,arg由va_start宏初始化,並且va_arg可能會調用它。

int putchar(int c)
putchar(c)與putc(c,stdout)等價。

『貳』 PHP怎麼定義保留2位小數的變數

在php中要保留兩位小數的方法有很多種辦法,有如:printf,substr,number_format,round等等方法


方法一

sprintf()函數 ,sprintf() 函數把格式化的字元串寫寫入一個變數中

<?php
$number=123;
$txt=sprintf("%f",$number);
echo$txt;
?>
輸出:
123.000000



方法二substr()函數

$num=123213.666666;
echosprintf("%.2f",substr(sprintf("%.3f",$num),0,-2));



方法三 number_format()函數

$number=1234.5678;
$nombre_format_francais=number_format($number,2,',','');//1234,57
$english_format_number=number_format($number,2,'.','');//1234.57(我一般用這個)

方法四 round 函數,round() 函數對浮點數進行四捨五入。

<?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?>
輸出:
1
1
0
-4
-5

如果要保留小數,後來參數根保留小數位數即可。

$number=1234.5678;
echoround($number,2);//1234.57

『叄』 PHP中的文件系統函數(一)

從這篇文章開始,我們將學習一系列的 PHP 文件系統相關函數。其實這些函數中,有很多都是我們經常用到的,大家並不需要刻意地去記住它們,只要知道有這么個東西,在使用的時候記得來查文檔就可以了。

文件路徑相關的函數往往在一些框架中會比較常見,而且多會配合 __FILE__ 、 __DIR__ 之類的魔術常量使用。

basename() 函數是獲得路徑中的文件名,它有兩個參數,第一個是文件的路徑,第二個是過濾掉的內容,比如第一條測試語句我們過濾掉文件的後綴名。

dirname() 返回的是路徑中的路徑部分,也就是不包含文件名的那部分內容,和 basename() 正好是相反的功能。

pathinfo() 函數用於以數組的形式返迴路徑中的信息,從結果來看,我們可以看到文件的 dirname 部分,basename 部分,以及文件的擴展名 extension 和不包含擴展名的 filename 內容。

realpath() 返回的是規范化的絕對路徑名,它擴展所有的符號連接並且處理輸入的路徑中的 ./ 、 ../ 以及多餘的 / ,返回的內容是標准規范的絕對路徑。

接下來,我們學習一些修改文件相關屬性的函數,主要就是在 Linux 系統環境中的文件許可權信息的操作。

當然,首先我們得創建一個文件。和 Linux 中的命令是非常類似的。

touch() 函數除了給出要創建的文件名之外,還有兩個可選參數可以指定文件的創建時間及訪問時間,不給參數的話默認就是當前時間。這個文件名可以是相對或絕對路徑中有許可權的目錄,並在該目錄下創建一個空的文件。

通過 fileowner() 函數,我們可以獲得某個文件所屬的用戶,默認情況下我們的用戶是當前運行 PHP 腳本的用戶,也就是系統目前的登錄用戶。在這里,我們使用 chown() 函數,將用戶改為 www 用戶。clearstatcache() 是用於清理文件系統的緩存信息,如果不清理一下的話,fileowner() 返回的依然還是之前的用戶信息。

同理,使用 filegroup() 函數獲得文件的屬組信息,chgrp() 用於修改文件的屬組。fileperms() 用於返迴文件的許可權信息,它返回的是數字模式的文件訪問許可權,這里我們使用 sprintf() 格式化結果後獲得我們常用的 Linux 系統許可權格式。chmod() 函數用於修改文件的許可權,它的許可權參數是三個 8 進制數據組成的數字,也就是代表 Linux 系統中的 1 、2 、4 和它們的組合,所以我們需要在前面再加上一個 0 用於確保操作能夠正常執行。關於系統文件許可權的知識大家需要認真學習 Linux 系統中相關的內容。

注意,上述函數如果在命令行中運行失敗,大部分原因是沒有許可權,可以使用 sudo 進行測試。在 fastcgi 中運行時,就更加需要注意許可權問題,僅在我們伺服器可以操作的目錄中進行安全的文件許可權修改。

stat() 函數可以獲取到指定文件的所有屬性信息,在這里我們可以看到文件的 uid 、 gid 、 ctime 、 mtime 等信息。

在 Linux 系統中,有軟連接和硬連接的相關知識。其實軟連接就像是 Windows 中的快捷方式,而硬連接相關於復制了一份數據。在 PHP 中,也為我們提供了創建軟硬連接以及相關的一些操作。

使用 link() 函數創建的就是一個指定文件的硬連接文件,而使用 symlink() 創建的則是一個軟連接文件。相對來說,我們使用軟連接的場景會更多一些。lstat() 就和 stat() 函數的功能一樣,查看文件的各種屬性信息,不過 lstat() 函數針對的是軟硬連接文件。

同樣地,我們也可以修改軟硬連接的用戶和用戶組信息,不過它們的信息不能通過 fileowner() 或 filegroup() 查看。因為它們是連接文件,本身還是和原始文件綁定在一起的,使用 fileowner() 這類的函數查看到的依然是原始文件的信息。我們可以在系統環境中使用 ls -l 查看連接文件的用戶和用戶組信息是否修改成功。

今天的內容比較簡單,而且修改許可權的操作也並不常用。不過對於系統安全來,它們還是非常有用的,比如對於上傳來說,我們要預防上傳可執行文件的話,就可以通過修改文件的許可權來讓文件無法直接運行,從而起到安全保護的作用。另外,目錄路徑相關的操作也是一些框架的基礎,幾乎所有框架的入口或者說是 Composer 的入口,都會見到 dirname() 以及 basename() 之類函數的身影。

測試代碼:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/6.PHP中的文件系統函數(一).php

參考文檔:

https://www.php.net/manual/zh/ref.filesystem.php

『肆』 PHP如何格式化數字

PHP格式化數字的函數是number_format

我建議你去下載一個PHP的使用手冊,或者看網上的在線手冊也行。

http://www.itlearner.com/code/php/

關於他的用法如下:

語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);

返回值: 字元串

函數種類: 數學運算

內容說明

本函數用來將浮點參數 number 格式化。若沒加參數 decimals 則返回的字元串只要整數部份,加了此參數才依參數指定的小數點位數返回。參數 dec_point 表示小數點的表示方式方法,默認值是 ".",若需要轉換成其它的小數點就可以在這個參數改掉。參數 thousands_sep 為整數部份每三位的分隔符號,默認值是 ","。本函數最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字元串;也可以有二個或者四個參數,但不能用三個參數。治募�注意的是指定小數點的位數之後的數字直接舍棄,沒有四捨五入的情形。

使用範例

<?
$short_pi = "3.14159";
$my_pi = number_format($short_pi, 2);
echo $my_pi."\n"; // 3.14
$foo = 850017.9021;
$new_foo = number_format($foo, 3, ".", " ");
echo $new_foo."\n"; // 850 017.902
?>

『伍』 php中整形轉換為浮點型,並精確的小數點後兩位

PHP 中sprintf函數可以將整數格式化為浮點格式。比如格式化參數:%nf;其中,n 表示小數點後的位數。比如:
<?php
$num=9.8;
$res=sprintf("%.2f", $num);
//輸出:9.80

?>

『陸』 如何使用PHP函數sprintf將字元串格式化

如果有一個字元串$str = '99.9';,怎麼樣使這個字元串變成99.90呢?
我們需要用到PHP的格式化字元串函數sprintf()
函數說明:sprintf(格式, 要轉化的字元串)
返回:格式化好的字元串
例子:
$str = '99.9';
$result = sprintf('%01.2f', $str);
echo $result;//結果顯示99.90

解釋下,上面例子中的格式
這個 %01.2f 是什麼意思呢?
1、這個 % 符號是開始的意思,寫在最前面表示指定格式開始了。 也就是 "起始字元", 直到出現 "轉換字元" 為止,就算格式終止。
2、跟在 % 符號後面的是 0, 是 "填空字元" ,表示如果位置空著就用0來填滿。
3、在 0 後面的是1,這個 1 是規定整個所有的字元串佔位要有1位以上(小數點也算一個佔位)。
如果把 1 改成 6,則 $result的值將為 099.90
因為,在小數點後面必須是兩位,99.90一共5個佔位,現在需要6個佔位,所以用0來填滿。
4、在 %01 後面的 .2 (點2) 就很好理解了,它的意思是,小數點後的數字必須佔2位。 如果這時候,$str 的值為9.234,則 $result的值將為9.23.
為什麼4 不見了呢? 因為在小數點後面,按照上面的規定,必須且僅能佔2位。 可是 $str 的值中,小數點後面佔了3位,所以,尾數4被去掉了,只剩下 23。
5、最後,以 f "轉換字元" 結尾。

『柒』 php,sprintf函數輸出字元串問題

你運行一下這個代碼,輸出內容是:
[many monke]

printf的第一個參數是輸出內容,後面的參數對應第一個參數裡面的%*。例如本例代碼,第一個參數是[%s],表示輸出第二個參數,作為字元串。%10.10s裡面的10.10表示輸出佔10個字元寬度、從字元串左邊開始、最多隻輸出10個字元,輸出的內容靠右、如果不夠寬度(例如10.8s輸出[ many mon])則空格在左邊。

『捌』 PHP echo,print,printf,sprintf函數的區別和使用

printf函數與sprintf不同之處有: (1)函數的聲明不同 int printf(const char *format [, argument]);int sprintf(char *buffer, const char *format [, argument] );sprintf比printf多一個參數buffer,這個參數的作用見(2)的描述。 (

『玖』 php 中的字元串中的%s和%d是什麼意思

親,字元串中的%s和%d代表你一定格式的可替換佔位符。

%s:代表字元串

%d:代表數字

例如:

echo sprintf('這是一個字元串:%s,這是一個數字:%d', '字元串', 123);

這個會輸出:

這是一個字元串:字元串,這是一個數字:123

希望可以幫到你喲!~~有不懂的可以繼續追問,或私信,或到boboidea-本人博客留言!~

閱讀全文

與sprintf函數php相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:963
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:145
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:485
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:382
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163