We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
strconv 包是 go 中做类型转换的包,可以做各种类型与字符串类型的转换。
true 转化为字符串 true,false 转化为字符串 false
package main import ( "fmt" "strconv" ) func main() { t := true f := false fmt.Println(strconv.FormatBool(t)) fmt.Println(strconv.FormatBool(f)) }
对字符串 1,t, T, TRUE, true, True 六种值转化为布尔值 true,对字符串 0,f,F, False,false,FALSE 六种值转化为布尔值 false,其他值都会返回一个错误
package main import ( "fmt" "strconv" ) func main() { fmt.Println(strconv.ParseBool("1")) fmt.Println(strconv.ParseBool("t")) fmt.Println(strconv.ParseBool("T")) fmt.Println(strconv.ParseBool("TRUE")) fmt.Println(strconv.ParseBool("True")) fmt.Println(strconv.ParseBool("true")) fmt.Println(strconv.ParseBool("TrUe")) }
FotmatInt 方法有两个参数
func FormatInt(i int64, base int) string
第二个为基数。
package main import ( "fmt" "strconv" ) func main() { v := int64(12) fmt.Println(strconv.FormatInt(v, 10)) fmt.Println(strconv.FormatInt(v, 12)) }
除此之外,还有将无符号的整数转化为字符串的 FormatUnit 方法,同时为了方便常用的 10 进制转换,提供了 Itoa 方法 package main
import ( "fmt" "strconv" )
func main() { v := int64(98) fmt.Println(strconv.Itoa(98)) // 等价于 fmt.Println(strconv.FormatInt(v, 10)) }
ParseInt 有三个参数:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
base 表示进位制(2 到 36),如果 base 为 0,则根据字符串前缀判断(前缀:0x表示16进制;0表示8进制;否则是10 进制),即按照什么进制,来解析给定的整数字符串;参数bitSize 表示的是整数取值范围,或者说整数的具体类型。取值 0、8、16、32 和 64 分别代表 int、int8、int16、int32 和 int64。
如果字符串中包含不是数字,则会转换失败返回一个错误:
package main import ( "fmt" "strconv" ) func main() { v := "989898" v2 := "9898abc" fmt.Println(strconv.ParseInt(v, 10, 32)) fmt.Println(strconv.ParseInt(v2, 10, 32)) }
除此之外,还有将字符串转化为无符号的整数的 ParseUnit 方法,同时为了方便常用的 10 进制转换,提供了 Atoi 方法
package main import ( "fmt" "strconv" ) func main() { v := "98" fmt.Println(strconv.Atoi(v)) // 等价于 fmt.Println(strconv.ParseInt(v, 10, 0)) }
func FormatFloat(f float64, fmt byte, prec, bitSize int) string
f 为需要转换的 float64 类型的变量,fmt 表示使用 f 表示不使用指数的形式,prec 表示保留几位小数,bitSize 如果为 32,表示是 float32 类型,如果是 64,表示是 float64 类型。
package main import ( "strconv" "fmt" ) func main() { var num float64 = 3.24 fmt.Println(strconv.FormatFloat(num, 'f', 10, 64 )) }
使用 ParseFloat
func ParseFloat(s string, bitSize int) (float64, error)
其中 bitSize 表示转化为 float32 还是 float64:
package main import ( "fmt" "strconv" ) func main() { var s = "3.24" fmt.Println(strconv.ParseFloat(s, 64)) }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
strconv 包是 go 中做类型转换的包,可以做各种类型与字符串类型的转换。
布尔值和字符串的转换
使用 FormatBool 将布尔值转化为字符串
true 转化为字符串 true,false 转化为字符串 false
使用 ParseBool 将字符串转化为布尔值
对字符串 1,t, T, TRUE, true, True 六种值转化为布尔值 true,对字符串 0,f,F, False,false,FALSE 六种值转化为布尔值 false,其他值都会返回一个错误
整数和字符串的转换
将数字转化为字符串
FotmatInt 方法有两个参数
第二个为基数。
除此之外,还有将无符号的整数转化为字符串的 FormatUnit 方法,同时为了方便常用的 10 进制转换,提供了 Itoa 方法
package main
import (
"fmt"
"strconv"
)
func main() {
v := int64(98)
fmt.Println(strconv.Itoa(98))
// 等价于
fmt.Println(strconv.FormatInt(v, 10))
}
将字符串转化为数字
ParseInt 有三个参数:
base 表示进位制(2 到 36),如果 base 为 0,则根据字符串前缀判断(前缀:0x表示16进制;0表示8进制;否则是10 进制),即按照什么进制,来解析给定的整数字符串;参数bitSize 表示的是整数取值范围,或者说整数的具体类型。取值 0、8、16、32 和 64 分别代表 int、int8、int16、int32 和 int64。
如果字符串中包含不是数字,则会转换失败返回一个错误:
除此之外,还有将字符串转化为无符号的整数的 ParseUnit 方法,同时为了方便常用的 10 进制转换,提供了 Atoi 方法
浮点数和字符串的转化
将浮点数转化为字符串
f 为需要转换的 float64 类型的变量,fmt 表示使用 f 表示不使用指数的形式,prec 表示保留几位小数,bitSize 如果为 32,表示是 float32 类型,如果是 64,表示是 float64 类型。
将字符串转化为浮点数
使用 ParseFloat
其中 bitSize 表示转化为 float32 还是 float64:
The text was updated successfully, but these errors were encountered: