首页 > 代码库 > 65. Valid Number
65. Valid Number
public boolean isNumber(String s) { s = s.trim(); boolean pointSeen = false; boolean eSeen = false; boolean numberSeen = false; boolean numberAfterE = true; for(int i=0; i<s.length(); i++) { if(‘0‘ <= s.charAt(i) && s.charAt(i) <= ‘9‘) { numberSeen = true; numberAfterE = true; } else if(s.charAt(i) == ‘.‘) { if(eSeen || pointSeen) { return false; } pointSeen = true; } else if(s.charAt(i) == ‘e‘) { if(eSeen || !numberSeen) { return false; } numberAfterE = false; eSeen = true; } else if(s.charAt(i) == ‘-‘ || s.charAt(i) == ‘+‘) { if(i != 0 && s.charAt(i-1) != ‘e‘) { return false; } } else { return false; } } return numberSeen && numberAfterE;}We start with trimming. If we see [0-9] we reset the number flags. We can only see . if we didn‘t see e or .. We can only see e if we didn‘t see e but we did see a number. We reset numberAfterE flag. We can only see + and - in the beginning and after an e any other character break the validation.At the and it is only valid if there was at least 1 number and if we did see an e then a number after it as well.
65. Valid Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。