鍍金池/ 問答/C  UI  HTML/ 如何判斷一段字符串是二進制?十進制?十六進制?

如何判斷一段字符串是二進制?十進制?十六進制?

如何判斷一段字符串是二進制?十進制?十六進制?

回答
編輯回答
負(fù)我心

0開頭八進制
0x開頭十六進制
其它十進制
轉(zhuǎn)換的時候還是要進行錯誤控制,畢竟你是不能信任對方傳過來的是否符合數(shù)制的要求

2017年4月10日 02:14
編輯回答
孤毒

js里主要看前綴,比如0o或者0O就是八進制的,0x或者0X是十六進制的,而0b0B就是二進制的。如果不給前綴,那就有點耍流氓了……
看標(biāo)簽里還有c和oc,這兩門不太清楚~

2017年9月23日 17:02
編輯回答
凹凸曼

一個簡單粗暴的解決方案: 因為二進制、十進制、十六進制可用字符數(shù)依次增多,所以依次按照二進制、十進制、十六進制解析字符串即可,哪個先成功了就認(rèn)為是哪一種。

比如

try {
    parseToBinary(str)
} catch {
    try {
        parseToDecimalism(str)
    } catch {
        parseToHexadecimal(str)
    }
}

大致這么個算法意思

2017年10月14日 01:05
編輯回答
老梗

這可就不好判斷了,不知道如此需求是有何用處?
例如字符串110,你可以說它是十進制,也可以說是二進制,除非字符串中帶有特殊表示,例如十六進制后面跟一個H,十進制跟一個D,八進制跟一個O,二進制跟一個B如果字符串中有這些字符串來表示的話,到時可以使用正則之類的進行判斷

2018年1月26日 02:29