golang判断字符串是不是数字
文章目录题解分析代码实现
实现一个函数用来判断字符串是否表示数值(包括整数和小数)
题解分析
一个标识数字的字符串可能包括以下字符类型:
空格;
数组:0~9;
正负号
小数点
幂符号:e/E;
为了解决此类问题,需要使用有限状态自动机,字符串有如下状态:
0:开始的空格;
1:幂符号前的正负号;
2:小数点前的数字;
3:小数点、小数点后的数字;
4:小数点前为空格时:小数点、小数点后的数字;
5:幂符号;
6:幂符号后的正负号;
7:幂符号后的数字;
8:结尾的空格;
合法的结束状态有:2、3、7