-1

数値 (価格)1.00000000000100 合計に変換する方法すべての文字列は12 digits 、価格関数が同じ100.00に変換する必要がある場合、価格関数が に変換する必要があります。000000010000150.00000000015000

この値は、実際には処理のために銀行 (支払いゲートウェイ) に送信する必要があります。

これについて私を助けてくれればありがとう。

4

3 に答える 3

3

これを行う関数は次のとおりです。

/**
 * 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);
}
于 2012-07-05T10:06:29.760 に答える
1

これを試すことができます。

$num=<number with 2 decimal places>;
$strnum=''.intval($num*100);
while(strlen($strnum)<12)
    $strnum='0'.$strnum;
于 2012-07-05T10:07:58.947 に答える
1

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"

于 2012-07-05T10:15:46.663 に答える