php base_convert非整数?

时间:2019-01-20 13:14:24

标签: php base-conversion

我想使用php以8为基数写(17,1)(以10为基数写)。

我期望3.1415,但是3.11034返回base_convert(3.1415,10,8); ...

php.net说,第一个参数应该是数字,但可以清楚地将其解释为整数。

1 个答案:

答案 0 :(得分:1)

根据您指定的php文档,base_convert函数的定义如下:

base_convert ( string $number , int $frombase , int $tobase ) : string

我们可以看到$number参数应该是一个字符串,但是如果我们在您的示例中将数字3.1415替换为包含相同数字的字符串,它仍然不起作用。但是您必须注意页面下方的参数规范:

  

数字-要转换的数字。数字中的任何无效字符为   默默地忽略。

显然,该功能忽略了某些字符。我们能想到的最合理的事情是,该函数可能会将小数点视为无效字符,毕竟-如我提到的那样,该函数会将数字转换为字符串。我运行了一个测试,结果发现当我将数字设置为75267(不带小数点)时,该函数返回31415

结论:该函数将小数点视为无效字符,并且该数字只能是整数。