如何在Go语言中检查一个字符串是否为数字?

5 min read

可以使用strconv包提供的函数来检查一个字符串是否为数字。

有两个函数可以使用:

  1. strconv.Atoi()函数:将字符串转换为整数并返回。如果字符串不是有效的数字,则返回一个错误。

  2. strconv.ParseFloat()函数:将字符串转换为一个浮点数并返回。如果字符串不是有效的数字,则返回一个错误。

以下是一个示例代码,以检查给定字符串是否为数字:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	if _, err := strconv.Atoi(str); err == nil { // 使用Atoi函数
		fmt.Printf("%s is a number\n", str)
	} else {
		fmt.Printf("%s is not a number\n", str)
	}

	str = "123.45"
	if _, err := strconv.ParseFloat(str, 64); err == nil { // 使用ParseFloat函数
		fmt.Printf("%s is a number\n", str)
	} else {
		fmt.Printf("%s is not a number\n", str)
	}
}

输出结果为:

123 is a number
123.45 is a number