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

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

如果數(shù)字以 0 開頭,strconv.ParseInt 失敗

如果數(shù)字以 0 開頭,strconv.ParseInt 失敗

Go
烙印99 2022-10-17 19:29:39
我目前在解析 Go 中以 0 開頭的一些數(shù)字時遇到問題。fmt.Println(strconv.ParseInt("0491031", 0, 64))0 strconv.ParseInt:解析“0491031”:語法無效GoPlayground:https ://go.dev/play/p/TAv7IEoyI8I我認為這是由于一些基本轉換錯誤,但我不知道如何修復它。如果您需要更多詳細信息,我在使用 gocsv 解析 5GB+ csv 文件時遇到此錯誤。[此錯誤是由GoCSV 庫引起的,該庫不允許為要解析的數(shù)字指定基數(shù)。]
查看完整描述

1 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

引用自strconv.ParseInt()

如果 base 參數(shù)為 0,則真正的基數(shù)由符號后面的字符串前綴(如果存在)暗示:2 表示“0b”,8 表示“0”或“0o”,16 表示“0x”,否則為 10。此外,僅對于以 0 為基數(shù)的參數(shù),允許使用 Go 語法為整數(shù)文字定義的下劃線字符。

您正在傳遞0for base,因此將從字符串值推斷要解析的基數(shù),并且由于它以 a 開頭,'0'后跟 non '0',因此您的數(shù)字被解釋為八進制 (8) 數(shù)字,并且該數(shù)字9在那里無效。

請注意,這將起作用:

fmt.Println(strconv.ParseInt("0431031", 0, 64))

并輸出(在Go Playground上試試):

143897 <nil>

(八進制431031等于143897十進制。)

如果您的輸入以 10 為基數(shù),請10傳遞base

fmt.Println(strconv.ParseInt("0491031", 10, 64))

然后輸出將是(在Go Playground上嘗試):

491031 <nil>


查看完整回答
反對 回復 2022-10-17
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號