如何从 Brick\Math\BigDecimal 中获取浮动货币值?

问题描述 投票:0回答:1

在 laravel 11 网站上有砖/钱,我可以进行货币转换,例如:

$provider->setExchangeRate($baseCurrencyCharCode, $currencyCharCode, $currencyTableRow->value );

$converter = new CurrencyConverter($provider);

$money = Money::of($amount, $baseCurrencyCharCode);
$value = $converter->convert($money, $currencyCharCode, roundingMode: RoundingMode::DOWN);
dd(   BigDecimal::of($value->getAmount())   );

但是我看到了输出价值

Brick\Math\BigDecimal {#1678 ▼ // app/Library/Services/BrickMoneyConverter.php:61
    -value: "7340"
    -scale: 2
}

有效结果必须是浮点数

73.40
。我没有找到该使用哪种方法来获取它?我不必担心货币规模。 看来这个图书馆知道如何使用秤?

"brick/money": "^0.9.0"
"laravel/framework": "^11.9",
php 8.2

提前致谢!

php laravel bigdecimal
1个回答
0
投票

要获取

BigDecimal
的字符串表示形式, 只需将其转换为字符串即可。

如果要将其转换为浮点数,请调用

toFloat()
方法。

require 'vendor/autoload.php';

use Brick\Money\Money;

$money = Money::of('73.40', 'USD');
$amount = $money->getAmount();

printf('String value: %s<br>', (string)$amount);
printf('Float value: %.2f<br>', $amount->toFloat());

输出:

String value: 73.40
Float value: 73.40
© www.soinside.com 2019 - 2024. All rights reserved.