-1
我需要这些,我不知道是否是有办法知道数据是十进制还是二进制还是十六进制?
- 小数
- 二进制
- 十六进制
为十进制格式转换数据。
到目前为止,我曾尝试使用
bindec()
二进制数据转换为十进制hexdec()
转换为十六进制转换为十进制
不过,我需要事先确定是否数字是十进制或十六进制。
有没有办法做到这一点?
我需要这些,我不知道是否是有办法知道数据是十进制还是二进制还是十六进制?
为十进制格式转换数据。
到目前为止,我曾尝试使用
bindec()
二进制数据转换为十进制hexdec()
转换为十六进制转换为十进制不过,我需要事先确定是否数字是十进制或十六进制。
有没有办法做到这一点?
你可以遇到的任意基数之间唯一的区别是文字。在PHP中,每个数字都存储为整数或浮点数。
$binary = 0b1100; // stored as 12
$oct = 014; // stored as 12
$hex = 0xC; // stored as 12
然而,如果你的数据是一个字符串,你可以使用正则表达式来确定它的类型,不是使用hexdec()
,octdec()
,bindec()
功能将它们转换为十进制。
或者,您可以使用intval()
功能,它通过字符串格式自动检测类型:
intval("0b000"); // bin->dec conversion
intval("014"); // oct->dec conversion
intval("0xC"); // hex->dec conversion
intval("12"); // str->dec cast!!
intval("asd"); // str->dec cast!!
当心未格式化字符串,因为INTVAL()将会把一切都变成了一些。
请显示样本数据。 – Yunnosch
你能否告诉我11岁是十一岁,十七岁还是三岁没有任何进一步的信息? –
您尝试的功能是将二进制和十六进制格式化的字符串转换为整数。使用'intval()'来自动检测和转换值。另外,请查看我的答案获取更多信息。 –