ホームページ >バックエンド開発 >Golang >Go言語でfloat型をstring型に変換する方法

Go言語でfloat型をstring型に変換する方法

青灯夜游
青灯夜游オリジナル
2023-01-17 10:43:149619ブラウズ

変換方法: 1. float32 および float64 から文字列への変換をサポートする Sprintf() 関数を使用します (構文は「str := fmt.Sprintf("%f", floatVar)」です。 2. FormatFloat() 関数を使用して、「str := strconv.FormatFloat(f,fmte,prec,bitSize)」という構文で float 型変数 f を string 型変数 str に変換します。

Go言語でfloat型をstring型に変換する方法

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Go 言語では、float 型を string 型に変換する必要があることがよくあります。 Go 言語で float を string に変換するには、strconv パッケージまたは fmt パッケージの関連関数を使用できます。

方法 1: fmt.Sprintf() を使用する

float32、float64 から文字列への変換をサポート

str := fmt.Sprintf("%f", floatVar)
パラメータ 説明
str 文字列に変換された値。
floatVar 変換する必要がある float 型の変数。

説明:

  • fmt.Sprintf を使用して、float 型変数 floatVar を string 型に変換します。

#例:


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

Go言語でfloat型をstring型に変換する方法

##方法 2: strconv.FormatFloat() を使用する

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

パラメータstr#ffmtprecbitSizefmt が文字列に変換された後の文字列のタイプ:
説明
浮動小数点数を文字列に変換します。
変換する必要がある float64 型の変数。
f を使用して、指数形式を使用しないことを示します。
小数点以下数桁を保持してください。
32の場合はfloat32型、64の場合はfloat64型を意味します。

'b' (-ddddp±ddd) : 2 進数の指数
  • 'e' (-d.dddde±dd): 10 進数の指数
  • 'E' (-d.ddddE± dd): 10 進数の指数
  • 'f' (-ddd.dddd): 指数なし
  • 'g': 指数が非常に大きい指数が大きい場合は「e」を使用し、指数が非常に大きい場合は「f'
  • 'G」を使用します。「f'
  • #」を使用します。 ##'x' (-0xd.ddddp±ddd): 16 進数の分数と 2 進指数

  • 'X' (-0Xd.ddddP±ddd): 16 進数のシステム分数と 2 進指数

  • #prec: 経度の制御

  • ##形式フラグが 'e'、'E'、'f'、' x' の場合、 'X' の場合、prec は小数点以下の桁数を表します

    #形式マークが 'g'、'G' の場合、prec は合計桁数を表します (整数 (小数部分)
  • 説明:

    strconv.FormatFloat を使用して、float 型変数 f を string 型変数 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 ビデオ チュートリアル

プログラミング教育Go言語でfloat型をstring型に変換する方法]

以上がGo言語でfloat型をstring型に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。