Golang如何去判断字符串是数字还是字符

jccsxx · 2019-04-03 10:21:00 · 16383 次点击

推荐你用正则表达式,或者ASCII值判断

比如正则的话,判断字符串是否全数字:

import(
    "fmt"
    "regexp"
)

func main(){
    pattern := "\\d+" //反斜杠要转义
    str := "124534"
    result,_ := regexp.MatchString(pattern,str)

    fmt.Println(result)
}
#2
更多评论

func IsSingleDigit(data string) bool { digit := []string{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"} for _, item := range digit { if data == item { return true } } return false }

func IsDigit(data string) bool { for _, item := range data { if IsSingleDigit(string(item)) { continue } else { return false } } return true }

func main() { a := "12345" fmt.Println(IsDigit(a))

}

#1

谢谢楼上二位,实现了。另外和你们分享一下,我自己后来想到的办法,可以判断小数点。

//判断是不是数字

func IsNum(s string) bool { _, err := strconv.ParseFloat(s, 64) return err == nil }

不知道这样写有没有问题?

#3