您好,登錄后才能下訂單哦!
本篇內容主要講解“go語言如何將float轉string類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“go語言如何將float轉string類型”吧!
轉換方法:1、使用Sprintf()函數,支持將float32、float64轉為string,語法“str := fmt.Sprintf("%f", floatVar)”。2、使用FormatFloat()函數,可以將float類型的變量f轉換為字符串類型的變量str,語法“str :=strconv.FormatFloat(f,fmte,prec,bitSize)”。
在 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類型”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。