PHP:将美元转换为美分

前端之家收集整理的这篇文章主要介绍了PHP:将美元转换为美分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
作为输入,我想接受以下任何一项:“$12.33”,“14.92”,“$13”,“17”,“14.00001”.作为输出,我分别想要1233,1492,1300,1700和1400.这显然不像看起来那么容易:
<?PHP
$input = '$64.99';  // value is given via form submission
$dollars = str_replace('$','',$input);  // get rid of the dollar sign
$cents = (int)($dollars * 100) // multiply by 100 and truncate
echo $cents;
?>

输出6498而不是6499.

我假设这与浮点值的不准确性有关,并且避免这些是我首先转换为整数美分的全部原因.我想我可以使用逻辑,比如“摆脱$符号,检查是否有小数点,如果是这样,检查填充到2之后有多少个字符,然后截断,然后删除句点,如果没有一个附加两个零,并希望最好的“但使用字符串操作这似乎是荒谬的.

当然从表单中获取货币价值并将其作为美分存储在数据库中是一种常见的用例.当然,有一种“合理”的做法.

对? …..对? :其中

考虑使用 BC Math扩展,它可以进行任意精度的数学运算.特别是,bcmul():
<?PHP
$input = '$64.99';
$dollars = str_replace('$',$input);
$cents = bcmul($dollars,100);
echo $cents;
?>

输出

6499
原文链接:https://www.f2er.com/php/136227.html

猜你在找的PHP相关文章