第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字符串轉(zhuǎn)換為 uint16

將字符串轉(zhuǎn)換為 uint16

Go
桃花長相依 2023-06-19 17:06:03
我是新來的,我一直在嘗試將字符串“0x0000”轉(zhuǎn)換為十六進(jìn)制,但到目前為止還沒有成功。這是我嘗試過的:import "strconv"c, err := strconv.ParseUint("0x0000", 16, 32)if err != nil {    return err, nil}拋出錯誤:strconv.ParseUint: parsing "0x0000": invalid syntax。我也嘗試過uint16("0x0000"),但顯然我也無法將字符串直接轉(zhuǎn)換為uint16. 我敢肯定這是非常微不足道的,所以任何幫助將不勝感激。謝謝。
查看完整描述

2 回答

?
夢里花落0921

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊

行為strconv.ParseUint()詳見strconv.ParseInt()

如果 base == 0,則基數(shù)由字符串的前綴隱含:基數(shù) 16 代表“0x”,基數(shù) 8 代表“0”,否則基數(shù) 10。對于基數(shù) 1、低于 0 或高于 36,將返回錯誤。

所以只需使用base = 0, 然后0x前綴就會被正確解釋。

例如:

c, err := strconv.ParseUint("0x0000", 0, 16)

fmt.Println(c, err)


c, err = strconv.ParseUint("0x0100", 0, 16)

fmt.Println(c, err)

輸出(在Go Playground上嘗試):

0?<nil>
256?<nil>

另一種選擇是使用fmt.Sscanf()

var?c?uint16
_,?err?:=?fmt.Sscanf("0x0000",?"0x%04x",?&c)
fmt.Println(c,?err)

_,?err?=?fmt.Sscanf("0x0100",?"0x%04x",?&c)
fmt.Println(c,?err)

輸出是一樣的。在Go Playground上嘗試一下。

查看完整回答
反對 回復(fù) 2023-06-19
?
白衣染霜花

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊

首先,您正在做的是轉(zhuǎn)換,而不是類型轉(zhuǎn)換。Go 根本不支持類型轉(zhuǎn)換,即使支持,這也不是任何語言中類型轉(zhuǎn)換的例子。

但是對于您的實際問題,您有兩種選擇:

  1. 刪除“0x”前綴:

    c,?err?:=?strconv.ParseUint("0000",?16,?32)
  2. 讓 strconv 檢測帶有前綴的堿基,如記錄的那樣:

    如果 base == 0,則基數(shù)由字符串的前綴隱含:基數(shù) 16 代表“0x”,基數(shù) 8 代表“0”,否則基數(shù) 10。對于基數(shù) 1、低于 0 或高于 36,將返回錯誤。

    c,?err?:=?strconv.ParseUint("0x0000",?0,?32)

最后,如果您的目標(biāo)是轉(zhuǎn)換為 a?uint16,您可能應(yīng)該通過請求適當(dāng)?shù)奈淮笮砀嬖V ParseUint:

c,?err?:=?strconv.ParseUint("0x0000",?0,?16)


查看完整回答
反對 回復(fù) 2023-06-19
  • 2 回答
  • 0 關(guān)注
  • 282 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號