我想使用php以8为基数写(17,1)
(以10为基数写)。
我期望3.1415
,但是3.11034
返回base_convert(3.1415,10,8);
...
php.net说,第一个参数应该是数字,但可以清楚地将其解释为整数。
答案 0 :(得分:1)
根据您指定的php文档,base_convert
函数的定义如下:
base_convert ( string $number , int $frombase , int $tobase ) : string
我们可以看到$number
参数应该是一个字符串,但是如果我们在您的示例中将数字3.1415
替换为包含相同数字的字符串,它仍然不起作用。但是您必须注意页面下方的参数规范:
数字-要转换的数字。数字中的任何无效字符为 默默地忽略。
显然,该功能忽略了某些字符。我们能想到的最合理的事情是,该函数可能会将小数点视为无效字符,毕竟-如我提到的那样,该函数会将数字转换为字符串。我运行了一个测试,结果发现当我将数字设置为75267
(不带小数点)时,该函数返回31415
。
结论:该函数将小数点视为无效字符,并且该数字只能是整数。