php base_convert 不适用于非整数?
php base_convert not working for non-integers?
我想用 php 在基数 8 中写 3.1415
(在基数 10 下写)。
我期待 3.11034
,但 base_convert(3.1415,10,8);
正在返回 75267
...
php.net 表示第一个参数应该是一个数字,但它清楚地将其解释为一个整数。
根据您指定的 php 文档,base_convert
函数定义如下:
base_convert ( string $number , int $frombase , int $tobase ) : string
我们可以看到$number
参数应该是一个字符串,但是如果我们把你例子中的数字3.1415
换成包含相同数字的字符串,还是不行。但是一定要注意页面下方的参数说明:
number - The number to convert. Any invalid characters in number are
silently ignored.
显然函数忽略了一些字符。我们能想到的最合理的事情是,函数可能将小数点视为无效字符,毕竟 - 正如我提到的,函数将数字转换为字符串。我运行测试了一下,当我把数字设为31415
(不带小数点)时,结果是函数returns75267
。
结论:函数将小数点视为无效字符,数字只能是Integer
我想用 php 在基数 8 中写 3.1415
(在基数 10 下写)。
我期待 3.11034
,但 base_convert(3.1415,10,8);
正在返回 75267
...
php.net 表示第一个参数应该是一个数字,但它清楚地将其解释为一个整数。
根据您指定的 php 文档,base_convert
函数定义如下:
base_convert ( string $number , int $frombase , int $tobase ) : string
我们可以看到$number
参数应该是一个字符串,但是如果我们把你例子中的数字3.1415
换成包含相同数字的字符串,还是不行。但是一定要注意页面下方的参数说明:
number - The number to convert. Any invalid characters in number are silently ignored.
显然函数忽略了一些字符。我们能想到的最合理的事情是,函数可能将小数点视为无效字符,毕竟 - 正如我提到的,函数将数字转换为字符串。我运行测试了一下,当我把数字设为31415
(不带小数点)时,结果是函数returns75267
。
结论:函数将小数点视为无效字符,数字只能是Integer