gpt4 book ai didi

php - 使用 php 将 Wei 转换为 Ethereum

转载 作者:行者123 更新时间:2023-12-04 16:30:40 27 4
gpt4 key购买 nike

我正在尝试使用 php 和 bc-math 扩展将 wei 转换为 eth。

尝试使用此函数转换它时:

function wei2eth($wei)
{
return bcdiv($wei,1000000000000000000,18);
}

我收到以下错误:

Warning: bcdiv(): Division by zero in C:\xampp\htdocs\test\coindata.php on line 121



有没有人使用 bc-math 扩展和 bcdiv 将 wei 转换为 eth 并知道,为什么我会收到此错误?

提前致谢

最佳答案

您的输入需要使用 bc-math 指定为字符串,特别是输入大于 PHP_INT_MAX 时。
签名bcdiv如下:
string bcdiv ( string $left_operand , string $right_operand [, int $scale = 0 ] )
在我的 64 位机器上,您的功能在 $wei >= PHP_INT_MAX 之前一直有效(在我的情况下为 9223372036854775807)因为 PHP 在此之前正确地转换了输入。

echo wei2eth('9357929650000000000');
// output 9.357929650000000000

echo wei2eth(9357929650000000000); //
// output 0.000000000000000000 and no warning with my env.

您还需要修改 bcdiv 的第二个参数:
function wei2eth($wei)
{
return bcdiv($wei,'1000000000000000000',18);
}

因为我怀疑您的系统是 32 位,而您的第二个参数被强制转换为“0”,因此除以零错误。

关于php - 使用 php 将 Wei 转换为 Ethereum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45527318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com