标签:float 函数 精度 大小 十六 表示 bool 定义 符号整型
golang strconv.ParseInt 是将字符串转换为数字的函数
func ParseInt(s string, base int, bitSize int) (i int64, err error)
参数1 数字的字符串形式
参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制
参数3 返回结果的bit大小 也就是int8 int16 int32 int64
代码:
package main import "fmt" import "strconv" func main() { /* 由于将字符串转为其他数据类型可能会出错,strconv 包定义了两个 error 类型的变量:ErrRange 和 ErrSyntax。 其中,ErrRange 表示值超过了类型能表示的最大范围,比如将 "128" 转为 int8 就会返回这个错误;ErrSyntax 表示语法错误,比如将 "" 转为 int 类型会返回这个错误。 func syntaxError(fn, str string) *NumError { return &NumError{fn, str, ErrSyntax} } func rangeError(fn, str string) *NumError { return &NumError{fn, str, ErrRange} } */ /* 字符串转为整数 func ParseInt(s string, base int, bitSize int) (i int64, err error) func ParseUint(s string, base int, bitSize int) (n uint64, err error) func Atoi(s string) (i int, err error) */ n, err := strconv.ParseInt("128", 10, 8) //n对应byte8,err对应error if err != nil { fmt.Println(err) } fmt.Println(strconv.ParseInt("134", 10, 64)) /* func FormatUint(i uint64, base int) string // 无符号整型转字符串 func FormatInt(i int64, base int) string // 有符号整型转字符串 func Itoa(i int) string */ //还可以用 fmt.Sprintf("%d",i) 来转化 ,但是我们分别循环转换了10000次。Sprintf 的时间是 3.549761ms,而 Itoa 的时间是 848.208us,相差 4 倍多。 /* 字符串和布尔值之间的转换 // 接受 1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False 等字符串; // 其他形式的字符串会返回错误 func ParseBool(str string) (value bool, err error) // 直接返回 "true" 或 "false" func FormatBool(b bool) string // 将 "true" 或 "false" append 到 dst 中 // 这里用了一个 append 函数对于字符串的特殊形式:append(dst, "true"...) func AppendBool(dst []byte, b bool) */ /* 字符串和浮点数之间的转换 func ParseFloat(s string, bitSize int) (f float64, err error) func FormatFloat(f float64, fmt byte, prec, bitSize int) string func AppendFloat(dst []byte, f float64, fmt byte, prec int, bitSize int) */ strconv.FormatFloat(1223.13252, ‘e‘, 3, 32) // 结果:1.223e+03 strconv.FormatFloat(1223.13252, ‘g‘, 3, 32) // 结果:1.22e+03 //由于浮点数有精度的问题,精度不一样,ParseFloat 和 FormatFloat 可能达不到互逆的效果。如: s := strconv.FormatFloat(1234.5678, ‘g‘, 6, 64) strconv.ParseFloat(s, 64) //如果要输出这样一句话:This is "studygolang.com" website. 该如何做? fmt.Println(`This is "studygolang.com" website`) fmt.Println("This is", strconv.Quote("studygolang.com"), "website") }
Go语言库之strconv包(转载自--http://blog.csdn.net/alvine008/article/details/51283189)
标签:float 函数 精度 大小 十六 表示 bool 定义 符号整型
原文地址:http://www.cnblogs.com/yxfeng/p/7844372.html