PHP實現實現數字補零格式化

2022-02-20 10:53:53 字數 1476 閱讀 2865

在接支付sdk的時候,第三方**處理時需要ip,並且ip的需求是:去掉點號,補零到每位址段3位, 如:192168000001

先看看我的實現:

1

<?php

2$ip = explode ( '.', '192.168.1.12');

3$newip="";

4for($i = 0; $i

< count ( $ip ); $i ++)

7echo

$newip

;8 ?>

結果:192168001012

php 中有兩個函式,能夠實現數字補零格式化,str_pad(),sprintf()

現在分別對這兩個函式進行詳細分析一下:

1:str_pad

顧名思義,str_pad是針對字串來說的這個可以對指定的字串填補任何其它的字串

例如:str_pad(需要填補的字串,填補後的長度,填補字串,填補位置)

其中填補後的長度必須是個正整數,填補位置有三個選項:

左邊:str_pad_left,

右邊:str_pad_right,

兩端:str_pad_both

例如:echo str_pad(1,8,」0″,str_pad_left);

結果:00000001

echo str_pad(1,8,」0″,str_pad_right);

結果:10000000

echo str_pad(1,8,」0″,str_pad_both);

結果:00010000

在上邊的例子中值得注意的乙個細節是,如果填補的位數是個奇數,例如例三中填補了7個0,右邊優先。

2:sprintf

a:左邊補零

echo sprintf(」%05d」,1);

先說%05d的意思,用乙個5位數的數字格式化後邊的引數,如果不足5位就補零

執行結果是00005

b:小數點後補零

echo sprintf(」%01.3f」,1);

%01.3f的意思是說,用乙個小數點後最少三位不足三位補零,小數點前最少一位,不足一位補零的浮點數格式化後邊的引數

其執行結果是:1.000

關於補零的這兩種方法大家可以挑選著使用,其實各有優劣,sprintf能夠保證你不至於誤操作吧1補成1000000哈哈,str_pad可以保證你想補啥補啥。

再來乙個小例子:

1

<?php

2function formatnum($arrayname)3

8return

$res;9

}10$arrayname = array(1,2,3,4,5,6,7,8,9,10,11,12,13);

11$result=formatnum($arrayname

);12

var_dump($result);

Python3 格式化數字 補零 數字補零

python中將數字格式化時,有些時候需要將數字格式化,為了顯示美觀,需要補零。今天在寫 時,看見別人的奇怪寫法,覺得有必要在這裡把python更好的寫法重寫一下。看到的別人的 for i in range 99 num str str i iflen num str 1 num str 0 str...

Android 完美實現手機號344格式化效果

在展示手機號碼的時候,會遇到手機號按照344格式效果,這種效果的實現遇到過兩次了,也踩過了許多的坑,在這裡記錄一下乙個完美實現這種效果的方式。輸入 插入 刪除等游標位置停留比較好的互動效果。特殊下標位置 private static final int phone index 3 3 private...

Struts2 格式化日期和數字

在src下建立package.properties配置檔案是固定寫法 number number.format.one number.format.two number.format.three number.format.four date date.format.all date.format....