Home  >  Article  >  Backend Development  >  How to convert float to string type in go language

How to convert float to string type in go language

青灯夜游
青灯夜游Original
2023-01-17 10:43:149361browse

Conversion method: 1. Use the Sprintf() function, which supports converting float32 and float64 to string. The syntax is "str := fmt.Sprintf("%f", floatVar)". 2. Use the FormatFloat() function to convert the float type variable f into the string type variable str, with the syntax "str := strconv.FormatFloat(f,fmte,prec,bitSize)".

How to convert float to string type in go language

The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.

In the Go language, it is often necessary to convert the float type into the string type. To convert float to string in Go language, you can use the related functions in the strconv package or the fmt package.

Method 1: Use fmt.Sprintf()

Support float32, float64 to string conversion

str := fmt.Sprintf("%f", floatVar)
parameters Description
str The value converted into a string.
floatVar A float type variable that needs to be converted.

Explanation:

  • We use fmt.Sprintf to convert the float type variable floatVar into a string type.

Example:

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)
}

How to convert float to string type in go language

##Method 2: Use strconv.FormatFloat()

str := strconv.FormatFloat(f float64, fmt byte, prec, bitSize int)

ParametersDescriptionConvert float into a string. A float64 type variable that needs to be converted. Use f to indicate not using the exponential form. Keep several decimal places. If it is 32, it means float32 type, if it is 64, it means float64 type.
str
f
fmt
prec
bitSize
After fmt is converted to a string, the type of the string:

  • 'b' (-ddddp±ddd): binary Exponent

  • 'e' (-d.dddde±dd): Decimal exponent

  • 'E' (-d.ddddE± dd): Decimal exponent

  • 'f' (-ddd.dddd): No exponent

  • 'g': The exponent is very large Use 'e' when the exponent is large, use 'f'

  • 'G' when the exponent is very large, use 'f'

  • 'x' (-0xd.ddddp±ddd): hexadecimal fraction and binary exponent

  • 'X' (-0Xd.ddddP±ddd): hexadecimal System fractions and binary exponents

prec: Control longitude

  • If the format flag is 'e', ​​'E', 'f', ' x', 'X', then prec represents the number of digits after the decimal point

  • #If the format mark is 'g', 'G', then prec represents the total number of digits (integer Partial decimal part)

Explanation:

We used strconv.FormatFloat to convert the float type variable f into the string type variable str .

Note:

The first parameter of the strconv.FormatFloat function can only accept float64 type variables. Therefore, if you need to convert the float32 type to string, you need to convert float32 to float64 first.

Example:

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)
}

How to convert float to string type in go language

[Related recommendations:

Go video tutorial, Programming teaching]

The above is the detailed content of How to convert float to string type in go language. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn