轉換方法:1、使用Sprintf()函數,支援將float32、float64轉為string,語法「str := fmt.Sprintf("%f", floatVar)」。 2.使用FormatFloat()函數,可以將float類型的變數f轉換為字串類型的變數str,語法「str :=strconv.FormatFloat(f,fmte,prec,bitSize)」。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
在 Go 語言 中,常需要將 float 類型 轉換成 string 類型。 Go 語言 float 轉 string 可以使用 strconv 套件或 fmt 套件裡面的相關 函數。
方法1:使用fmt.Sprintf()
支援float32、float64 轉string
str := fmt.Sprintf("%f", floatVar)
#參數 | 描述 |
---|---|
str | 轉換成字串後的值。 |
floatVar | 需要轉換的 float 類型的變數。 |
說明:
我們使用fmt.Sprintf 實作了將float 類型的變數floatVar 轉成了字串類型。
範例:
package main import ( "fmt" ) func main() { //Golang 实现 float32 转 string var score float32 = 99.9 strScore := fmt.Sprintf("%f", score) fmt.Println("StrScore = ", strScore) //Golang 实现 float64 转 string var km = 9900.10 strKm := fmt.Sprintf("%.5f", km) fmt.Println("StrKm = ", strKm) }
#方法2:使用strconv.FormatFloat()
str := strconv.FormatFloat(f float64, fmt byte, prec, bitSize int)
參數 | 描述 |
---|---|
#str | 將float 轉換成的字串。 |
f | 需要轉換的 float64 類型的變數。 |
fmt | 使用 f 表示不使用指數的形式。 |
prec | 保留幾個小數。 |
bitSize | 如果為 32,表示是 float32 類型,如果是 64,表示是 float64 類型。 |
fmt轉為字串後,字串的型別:
'b' (-ddddp±ddd):二進位指數
'e' (-d.dddde±dd):10進位指數
'E' (-d.ddddE± dd):10進位指數
'f' (-ddd.dddd):無指數
'g' :指數很大式使用'e',其他使用'f'
'G' :指數很大時使用'E',其他使用'f'
'x' (-0xd.ddddp±ddd):十六進位分數與二進位指數
#'X' (-0Xd.ddddP±ddd):十六進制分數與二進制指數
prec:控制經度
#如果格式標記為'e'、'E'、'f'、' x'、'X',則prec 表示小數點後的數字位數
如果格式標記為'g','G',則prec 表示總的數字位數(整數部分小數部分)
說明:
我們使用了strconv.FormatFloat 實作了將float 類型的變數f,轉換了字串類型的變數str 。
注意:
strconv.FormatFloat 函數的第一個參數,只能接受 float64 類型的變數。因此,如果需要將 float32 型轉換成 string,則需要先將 float32 轉成 float64。
範例:
package main import ( "fmt" "strconv" ) func main() { //Golang 实现 float32 转 string var score float32 = 99.9 strScore := strconv.FormatFloat(float64(score), 'f', 10, 32) fmt.Println("StrScore = ", strScore) //Golang 实现 float64 转 string var km = 9900.10 strKm := strconv.FormatFloat(km, 'f', 1, 64) fmt.Println("StrKm = ", strKm) }
以上是go語言怎麼將float轉string類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!