请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+"、"5e2"、"-"、"3."、"-1E-16"、"0"都表示数值,但"12e"、"1a3.14"、"1.2.3"、"+-5"及"12e+5.4"都不是。
将字符串String变为Double类型数值
对转变后的类型进行判断,如果转换错误,则抛出异常(在异常处理中返回false值),否则返回true
1classSolution{2publicbooleanisNumber(Strings){3//额外判断,如果该字符串以f、d、F、D结尾,则均不算做数值,返回false值4if(s.endsWith("f")s.endsWith("d")
s.endsWith("F")
s.endsWith("D")){5returnfalse;6}78try{9//异常处理(将String转为Double后再异常检测)10Double.parseDouble(s);11}catch(Exceptione){12returnfalse;13}14returntrue;15}16}
时间:O(1)
空间:O(1)
预览时标签不可点收录于话题#个上一篇下一篇