class Solution {
public int myAtoi(String str) {
if (str == null) {
return 0;
}
str = str.trim();
if ("".equals(str)) {
return 0;
}
if (str.contains(".")){
int index = str.indexOf('.');
if (index == 0) {
return 0;
}else {
str = str.substring(0,index);
}
}
System.out.println(str);
StringBuilder stringBuilder = new StringBuilder();
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
if ("-".equals(chars[i]+"") || "+".equals(chars[i]+"")) {
if (stringBuilder.toString().contains("-") || stringBuilder.toString().contains("+")) {
break;
}
stringBuilder.append(chars[i]);
}else if (Character.isDigit(chars[i])) {
if ("0".equals(chars[i])) {
continue;
}else {
stringBuilder.append(chars[i]);
}
}else {
break;
}
}
if (stringBuilder.length() == 0 ||
(stringBuilder.length() == 1 && "-".equals(stringBuilder.toString())) ||
(stringBuilder.length() == 1 && "+".equals(stringBuilder.toString()))
) {
return 0;
}
double bigDecimal = Double.valueOf(stringBuilder.toString());
if (bigDecimal > Integer.MAX_VALUE || bigDecimal < Integer.MIN_VALUE) {
return 0;
}
return Integer.valueOf(stringBuilder.toString());
}
}