轉(zhuǎn)換方法:1、使用Sprintf()函數(shù),支持將float32、float64轉(zhuǎn)為string,語(yǔ)法“str := fmt.Sprintf("%f", floatVar)”。2、使用FormatFloat()函數(shù),可以將float類(lèi)型的變量f轉(zhuǎn)換為字符串類(lèi)型的變量str,語(yǔ)法“str :=strconv.FormatFloat(f,fmte,prec,bitSize)”。
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
在?Go 語(yǔ)言?中,經(jīng)常需要將?float 類(lèi)型?轉(zhuǎn)成?string 類(lèi)型。Go 語(yǔ)言 float 轉(zhuǎn) string 可以使用 strconv 包或者 fmt 包里面的相關(guān)?函數(shù)。
方法1:使用fmt.Sprintf()
支持 float32、float64 轉(zhuǎn) string
立即學(xué)習(xí)“go語(yǔ)言免費(fèi)學(xué)習(xí)筆記(深入)”;
str := fmt.Sprintf("%f", floatVar)
參數(shù) | 描述 |
---|---|
str | 轉(zhuǎn)換成字符串后的值。 |
floatVar | 需要轉(zhuǎn)換的 float 類(lèi)型的變量。 |
說(shuō)明:
我們使用 fmt.Sprintf 實(shí)現(xiàn)了將 float 類(lèi)型的變量 floatVar 轉(zhuǎn)成了字符串類(lèi)型。
示例:
package main import ( "fmt" ) func main() { //Golang 實(shí)現(xiàn) float32 轉(zhuǎn) string var score float32 = 99.9 strScore := fmt.Sprintf("%f", score) fmt.Println("StrScore = ", strScore) //Golang 實(shí)現(xiàn) float64 轉(zhuǎn) 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)
參數(shù) | 描述 |
---|---|
str | 將 float 轉(zhuǎn)換成的字符串。 |
f | 需要轉(zhuǎn)換的 float64 類(lèi)型的變量。 |
fmt | 使用 f 表示不使用指數(shù)的形式。 |
prec | 保留幾位小數(shù)。 |
bitSize | 如果為 32,表示是 float32 類(lèi)型,如果是 64,表示是 float64 類(lèi)型。 |
fmt轉(zhuǎn)為字符串后,字符串的類(lèi)型:
'b' (-ddddp±ddd):二進(jìn)制指數(shù)
'e' (-d.dddde±dd):10進(jìn)制指數(shù)
'E' (-d.ddddE±dd):10進(jìn)制指數(shù)
'f' (-ddd.dddd):無(wú)指數(shù)
'g' :指數(shù)很大時(shí)使用'e',其他使用 'f'
'G' :指數(shù)很大時(shí)使用 'E',其他使用'f'
'x' (-0xd.ddddp±ddd):十六進(jìn)制分?jǐn)?shù)和二進(jìn)制指數(shù)
'X' (-0Xd.ddddP±ddd):十六進(jìn)制分?jǐn)?shù)和二進(jìn)制指數(shù)
prec:控制經(jīng)度
如果格式標(biāo)記為 'e'、'E'、'f'、'x'、'X',則 prec 表示小數(shù)點(diǎn)后的數(shù)字位數(shù)
如果格式標(biāo)記為 'g','G',則 prec 表示總的數(shù)字位數(shù)(整數(shù)部分+小數(shù)部分)
說(shuō)明:
我們使用了 strconv.FormatFloat 實(shí)現(xiàn)了將 float 類(lèi)型的變量 f,轉(zhuǎn)換了字符串類(lèi)型的變量 str。
注意:
strconv.FormatFloat 函數(shù)的第一個(gè)參數(shù),只能接受 float64 類(lèi)型的變量。因此,如果需要將 float32 類(lèi)型轉(zhuǎn)成 string,需要先將 float32 轉(zhuǎn)成 float64。
示例:
package main import ( "fmt" "strconv" ) func main() { //Golang 實(shí)現(xiàn) float32 轉(zhuǎn) string var score float32 = 99.9 strScore := strconv.FormatFloat(float64(score), 'f', 10, 32) fmt.Println("StrScore = ", strScore) //Golang 實(shí)現(xiàn) float64 轉(zhuǎn) string var km = 9900.10 strKm := strconv.FormatFloat(km, 'f', 1, 64) fmt.Println("StrKm = ", strKm) }
以上就是go語(yǔ)言怎么將float轉(zhuǎn)string類(lèi)型的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)