go中string、int、float相互轉(zhuǎn)換方式
更新時(shí)間:2024年07月30日 08:47:22 作者:ProblemTerminator
這篇文章主要介紹了go中string、int、float相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
string轉(zhuǎn)其它
string --> int:將字符串13轉(zhuǎn)換為int類型的數(shù)值13
str := "13" distInt,err := strconv.Atoi(str)
string --> int等
將字符串str轉(zhuǎn)換為int64(十進(jìn)制)
// 參數(shù)1:帶轉(zhuǎn)換字符串, // 參數(shù)2:基于幾進(jìn)制,值可以是0,8,16,32,64 // 參數(shù)3:要轉(zhuǎn)成哪個(gè)int類型:可以是0、8、16、32、64,分別對(duì)應(yīng) int,int8,int16,int32,int64 distInt64, err := strconv.ParseInt(str, 10, 64)
string-->uint32等
uintVal, err := strconv.ParseUint(uintStr, 10, 32)
string --> float64、float32
// ParseFloat 將字符串轉(zhuǎn)換為浮點(diǎn)數(shù) // str:要轉(zhuǎn)換的字符串 // bitSize:指定浮點(diǎn)類型(32:float32、64:float64) // 如果 str 是合法的格式,而且接近一個(gè)浮點(diǎn)值, // 則返回浮點(diǎn)數(shù)的四舍五入值(依據(jù) IEEE754 的四舍五入標(biāo)準(zhǔn)) // 如果 str 不是合法的格式,則返回“語法錯(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)
int等轉(zhuǎn)float
var x int64 = 1fmt.Println(float64(x))
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ù)字部分的長度,不包括指數(shù)部分) // bitSize:指定浮點(diǎn)類型(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,沒有指數(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 再如f: str := strconv.FormatFloat(1.1, 'f', 0, 64) fmt.Println(str) // 1 str = strconv.FormatFloat(1.1, 'f', 1, 64) fmt.Println(str) // 1.1 str = strconv.FormatFloat(1.1, 'f', 2, 64) fmt.Println(str) // 1.10 str = strconv.FormatFloat(1.1, 'f', -1, 64) fmt.Println(str) // 1.1
float64 --> int等
(會(huì)有精度損失)
var x float64 = 6.9 y := int64(x)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
golang 網(wǎng)絡(luò)框架之gin的使用方法
這篇文章主要介紹了golang 網(wǎng)絡(luò)框架之gin的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11golang通用的grpc?http基礎(chǔ)開發(fā)框架使用快速入門
這篇文章主要為大家介紹了golang通用的grpc?http基礎(chǔ)開發(fā)框架使用快速入門詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09go類型轉(zhuǎn)換及與C的類型轉(zhuǎn)換方式
這篇文章主要介紹了go類型轉(zhuǎn)換及與C的類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05HTTP服務(wù)壓力測試工具及相關(guān)術(shù)語講解
這篇文章主要為大家介紹了HTTP服務(wù)壓力測試工具使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04golang實(shí)現(xiàn)微信支付v3版本的方法
這篇文章主要介紹了golang實(shí)現(xiàn)微信支付v3版本的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Golang?channel底層實(shí)現(xiàn)過程解析(深度好文)
Go語言為了方便使用者,提供了簡單、安全的協(xié)程數(shù)據(jù)同步和通信機(jī)制,這篇文章主要介紹了Golang?channel底層是如何實(shí)現(xiàn)的,需要的朋友可以參考下2024-07-07