go中string、int、float相互轉(zhuǎn)換的實(shí)現(xiàn)示例
之前很多次用到的時(shí)候總會(huì)忘一些,這次記下來(lái),后面再忘了就直接來(lái)這查~。
string轉(zhuǎn)其它
string --> int:將字符串13轉(zhuǎn)換為int類(lèi)型的數(shù)值13
str := "13" distInt,err := strconv.Atoi(str)
string --> int64:將字符串13轉(zhuǎn)換為int64(十進(jìn)制)
// 參數(shù)1:帶轉(zhuǎn)換字符串, // 參數(shù)2:基于幾進(jìn)制,值可以是0,8,16,32,64 // 參數(shù)3:要轉(zhuǎn)成哪個(gè)int類(lèi)型:可以是0、8、16、32、64,分別對(duì)應(yīng) int,int8,int16,int32,int64 distInt64, err := strconv.ParseInt(str, 10, 64)
string --> float64、float32
// ParseFloat 將字符串轉(zhuǎn)換為浮點(diǎn)數(shù) // str:要轉(zhuǎn)換的字符串 // bitSize:指定浮點(diǎn)類(lèi)型(32:float32、64:float64) // 如果 str 是合法的格式,而且接近一個(gè)浮點(diǎn)值, // 則返回浮點(diǎn)數(shù)的四舍五入值(依據(jù) IEEE754 的四舍五入標(biāo)準(zhǔn)) // 如果 str 不是合法的格式,則返回“語(yǔ)法錯(cuò)誤” // 如果轉(zhuǎn)換結(jié)果超出 bitSize 范圍,則返回“超出范圍” //到float64 distFloat,err := strconv.ParseFloat(str,64) //到float32 distFloat,err := strconv.ParseFloat(str,32)
int、int64轉(zhuǎn)其它
int --> string
i := 11 str1 := strconv.Itoa(i) //或 str2 := strconv.FormatInt(int64(i),10)
int64 --> string
distStr := strconv.FormatInt(num,10)
float轉(zhuǎn)其它
float --> string
// FormatFloat 將浮點(diǎn)數(shù) f 轉(zhuǎn)換為字符串值
// f:要轉(zhuǎn)換的浮點(diǎn)數(shù)
// fmt:格式標(biāo)記(b、e、E、f、g、G)
// prec:精度(數(shù)字部分的長(zhǎng)度,不包括指數(shù)部分)
// bitSize:指定浮點(diǎn)類(lèi)型(32:float32、64:float64)
// 格式標(biāo)記:
// 'b' (-ddddp±ddd,二進(jìn)制指數(shù))
// 'e' (-d.dddde±dd,十進(jìn)制指數(shù))
// 'E' (-d.ddddE±dd,十進(jìn)制指數(shù))
// 'f' (-ddd.dddd,沒(méi)有指數(shù))
// 'g' ('e':大指數(shù),'f':其它情況)
// 'G' ('E':大指數(shù),'f':其它情況)
// 如果格式標(biāo)記為 'e','E'和'f',則 prec 表示小數(shù)點(diǎn)后的數(shù)字位數(shù)
// 如果格式標(biāo)記為 'g','G',則 prec 表示總的數(shù)字位數(shù)(整數(shù)部分+小數(shù)部分)
str1 = strconv.FormatFloat(11.34,'E',-1,32)
str2 = strconv.FormatFloat(10.55,'E',-1,64)
fmt.Println(str1,str2) //1.134E+01 1.055E+01
//解析轉(zhuǎn)換后的string變量str為float
h,_ :=strconv.ParseFloat(str1,32)
fmt.Println(h) //11.34000015258789
h,_ =strconv.ParseFloat(str2,64)
fmt.Println(h) //10.55
float64 --> int64(會(huì)有精度損失)
var x float64 = 6.9 y := int64(x)
到此這篇關(guān)于go中string、int、float相互轉(zhuǎn)換的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)go string、int、float相互轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang實(shí)現(xiàn)Json轉(zhuǎn)結(jié)構(gòu)體的示例詳解
這篇文章主要為大家詳細(xì)介紹了Golang實(shí)現(xiàn)Json轉(zhuǎn)結(jié)構(gòu)體的方法,文中的示例代碼講解詳細(xì),對(duì)學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下2023-02-02
Go外部依賴(lài)包從vendor,$GOPATH和$GOPATH/pkg/mod查找順序
這篇文章主要介紹了Go外部依賴(lài)包vendor,$GOPATH和$GOPATH/pkg/mod下查找順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法
本文主要介紹了Windows下CMD執(zhí)行Go出現(xiàn)中文亂碼的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Go語(yǔ)言文件開(kāi)關(guān)及讀寫(xiě)操作示例
這篇文章主要為大家介紹了Go語(yǔ)言文件開(kāi)關(guān)及讀寫(xiě)操作的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
再次探討go實(shí)現(xiàn)無(wú)限 buffer 的 channel方法
我們知道go語(yǔ)言?xún)?nèi)置的channel緩沖大小是有上限的,那么我們自己如何實(shí)現(xiàn)一個(gè)無(wú)限 buffer 的 channel呢?今天通過(guò)本文給大家分享go實(shí)現(xiàn)無(wú)限 buffer 的 channel方法,感興趣的朋友一起看看吧2021-06-06
如何解析golang中Context在HTTP服務(wù)中的角色
這篇文章主要介紹了如何解析golang中Context在HTTP服務(wù)中的角色問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說(shuō)明
這篇文章主要介紹了關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05

