请问高手,Golang如何去判断字符串是数字还是字符,好像网上没有好的答案。
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
更多评论
推荐你用正则表达式,或者ASCII值判断
比如正则的话,判断字符串是否全数字:
```go
import(
"fmt"
"regexp"
)
func main(){
pattern := "\\d+" //反斜杠要转义
str := "124534"
result,_ := regexp.MatchString(pattern,str)
fmt.Println(result)
}
```
#2
谢谢楼上二位,实现了。另外和你们分享一下,我自己后来想到的办法,可以判断小数点。
//判断是不是数字
func IsNum(s string) bool {
_, err := strconv.ParseFloat(s, 64)
return err == nil
}
不知道这样写有没有问题?
#3