-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()'來自動檢測和轉換值。另外,請查看我的答案獲取更多信息。 –