GO语言"strconv"包中"ParseFloat"函数的用法及代码示例。
用法:
func ParseFloat(s string, bitSize int)(float64, error)
ParseFloat 将字符串 s 转换为具有 bitSize 指定精度的浮点数:对于 float32 为 32,对于 float64 为 64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值。
ParseFloat 接受十进制和十六进制浮点数语法。如果 s 格式正确且接近有效浮点数,ParseFloat 返回使用 IEEE754 无偏舍入舍入的最接近的浮点数。 (仅当十六进制表示中的位数多于尾数中的位数时,才对十六进制浮点值进行四舍五入。)
ParseFloat 返回的错误具有具体类型 *NumError 并包括 err.Num = s。
如果 s 语法格式不正确,ParseFloat 返回 err.Err = ErrSyntax
如果 s 在语法上格式正确,但距离给定大小的最大浮点数超过 1/2 ULP,则 ParseFloat 返回 f = ±Inf, err.Err = ErrRange
ParseFloat 将字符串 "NaN" 和(可能有符号的)字符串 "Inf" 和 "Infinity" 识别为它们各自的特殊浮点值。匹配时忽略大小写。
例子:
package main
import (
"fmt"
"strconv"
)
func main() {
v := "3.1415926535"
if s, err := strconv.ParseFloat(v, 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat(v, 64); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("NaN", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
// ParseFloat is case insensitive
if s, err := strconv.ParseFloat("nan", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("inf", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("+Inf", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("-Inf", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("-0", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
if s, err := strconv.ParseFloat("+0", 32); err == nil {
fmt.Printf("%T, %v\n", s, s)
}
}
输出:
float64, 3.1415927410125732 float64, 3.1415926535 float64, NaN float64, NaN float64, +Inf float64, +Inf float64, -Inf float64, -0 float64, 0
相关用法
- GO ParseFile用法及代码示例
- GO ParseAddress用法及代码示例
- GO ParseUint用法及代码示例
- GO ParseIP用法及代码示例
- GO ParseMediaType用法及代码示例
- GO ParseInt用法及代码示例
- GO ParseCIDR用法及代码示例
- GO ParseInLocation用法及代码示例
- GO ParseDuration用法及代码示例
- GO Parse用法及代码示例
- GO ParseAddressList用法及代码示例
- GO ParseBool用法及代码示例
- GO ParseQuery用法及代码示例
- GO ParsePKIXPublicKey用法及代码示例
- GO PathUnescape用法及代码示例
- GO PathEscape用法及代码示例
- GO PutUvarint用法及代码示例
- GO PlainAuth用法及代码示例
- GO Print用法及代码示例
- GO Pow10用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 ParseFloat。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。