在PHP

时间:2019-07-12 07:00:18

标签: php

我正在研究可以使用信用卡付款的项目。 我从得到“价格”的地方获得了预订系统,然后将该价格发送到商家在线付款页面。 我的问题是预订系统以十进制发送价格。像123.45。 但是商家仅接受以下格式:12345。收到此格式后,它将自动广告小数点。

我需要将此“价格”转换为不带小数点的位置。换句话说,将其向右移动。最好的功能或解决方案是什么?

目前,我正在使用round()函数并添加两个零(00)。但是只有当我真的使用四舍五入的价格时,这种方式才会出现。

$price = $_POST['price'];

$price = round($price) . '00';

我希望输出123.4512345。其他示例123.0012300

2 个答案:

答案 0 :(得分:0)

<?php
   $withoutDecimal = $withDecimal * 100;
?>

答案 1 :(得分:0)

适合那些需要更灵活解决方案的人。例如,比特币有8位小数,美元-2

function price_minor_units($dollars, $decimals = 2)
{
    return $dollars * (10 ** $decimals);
}

function price_major_units($cents, $decimals = 2){
    return $cents / (10 ** $decimals);
}
相关问题