登陆注册
14252

什么是有效数字(有效数字的定义)

大财经2023-03-24 10:39:130

4、字符串中最多出现一个小数点 - ".",且"."不能出现在"e"后面

return false;

hasDot = true;

if(!Character.isDigit(c)){

如果第一个字符为小数点,默认小数点前有一个'0'

start ++;

}else if(s.charAt(0) == '-'){

"2e10" => true

1、字符串中只能包含

}else{

}

5、字符串中最多出现一个指数 - "e",且"e"之前之后必须有数字 0-9;如果"e"之后有正/负号 - "+"/"-",必须在"e"与数字之间

if(c == '+' || c == '-'){

}

}else{

当然,在输入中,这些字符的上下文也很重要。

if(s.length() == 0){

数字 0-9

if(start > 0 && s.charAt(start - 1) != 'e'){

if(hasE || !hasNum){

小数点 - "."

"-+3" => false

hasE = true;

2、第一个字符只能为

指数 - "e"

public boolean isNumber(String s) {

boolean numAfterE = false;

问题描述:

" 1e" => false

思路:

return false;

boolean hasDot = false;

"e3" => false

return false;

return false;

}else if(s.charAt(start) == '.'){

return false;

" --6 " => false

while(start < s.length()){

小数点 - "."

说明: 我们有意将问题陈述地比较模糊。在实现代码之前,你应当事先思考所有可能的情况。这里给出一份可能存在于有效十进制数字中的字符列表:

}

java代码:

}else {

if(null == s){

if(hasDot || hasE){

"95a54e53" => false

数字 0-9

boolean hasNum = false;

char c = s.charAt(start);

boolean hasE = false;

hasNum = true;

numAfterE = true;

3、正/负号 - "+"/"-" 只能出现在第一个字符或"e"后面

hasDot = true;

正/负号 - "+"/"-"

"0" => true

if(s.charAt(0) == '+'){

"1 a" => false

}else if (!Character.isDigit(s.charAt(0))){

return false;

}

判断一个字符串是否可以解释为十进制数字,可以使用一下规则来校验:

}else if(s.charAt(0) == '.'){

指数 - "e"

"53.5e93" => true

int start = 0;

正/负号 - "+"/"-"

正/负号 - "+"/"-"

" 0.1 " => true

}

}

"abc" => false

numAfterE = false;

return false;

} else if(s.charAt(start) == 'e'){

" 6e-1" => true

s = s.trim();

验证给定的字符串是否可以解释为十进制数字。

start ++;

例如:

start ++;

" -90e3 " => true

return hasNum && numAfterE;

}

start ++;

小数点 - "."

}

数字 0-9

}

}

" 99e2.5 " => false

0000
评论列表
共(0)条
热点
关注
推荐