我从Feed中提取数据并将其存储为字符串。在这个数据中,我的ETH价格如下:
string(12) "9.9121566185"
我想将此数字转换为WEI并将其存储为Money/Php对象
当我尝试以下操作时:
$money = new Money('9.9121566185', new Currency('ETH'));
echo $money->getAmount();
我收到错误:
Amount must be an integer(ish) value
所以我想我需要做以下事情:
我被困在如何将ETH字符串值转换为WEI值...
答案 0 :(得分:0)
当我处理货币时,像floatVal这样的东西不起作用,因为剩余的或除了期望值以外的任何东西都会随着时间的推移而增加。
所以这就是我解决问题的方法:
以上输出完全符合:
string(19) "9912156618500000000"
答案 1 :(得分:0)
您应该使用解析器将数字转换为金钱对象
$currencies = [
'ETH' => 18
];
$currencyList = \Money\Currencies\CurrencyList($currencies);
$parser = new \Money\Parser\DecimalMoneyParser($currencyList);
$ethMoney =$parser->parse('9.9121566185', new \Money\Currency('ETH'));