数値 (価格)1.00
を 000000000100
合計に変換する方法すべての文字列は12 digits
、価格関数が同じ100.00
に変換する必要がある場合、価格関数が に変換する必要があります。000000010000
150.00
000000015000
この値は、実際には処理のために銀行 (支払いゲートウェイ) に送信する必要があります。
これについて私を助けてくれればありがとう。
数値 (価格)1.00
を 000000000100
合計に変換する方法すべての文字列は12 digits
、価格関数が同じ100.00
に変換する必要がある場合、価格関数が に変換する必要があります。000000010000
150.00
000000015000
この値は、実際には処理のために銀行 (支払いゲートウェイ) に送信する必要があります。
これについて私を助けてくれればありがとう。
これを行う関数は次のとおりです。
/**
* Format a price according to the bank payment gateway specification.
*
* @param $price float The price
* @return The formatted price
*/
function format_price($price) {
$price = (int) ($price * 100);
return str_pad((string) $price, 12, '0', STR_PAD_LEFT);
}
これを試すことができます。
$num=<number with 2 decimal places>;
$strnum=''.intval($num*100);
while(strlen($strnum)<12)
$strnum='0'.$strnum;
c devからphp devに来た人への答え:)
$a = 100.00;
printf("a=%012d", $a*100);
出力: a=000000010000
$a = 150.00;
printf("a=%012d", $a*100);
出力: a=000000015000
数値変換には、次を使用する必要がありますsprintf
。
$a = 150.00;
$b = sprintf("%012d", $a*100);
var_dump($b);
出力: 文字列(12) "000000015000"