将string 转int
Posted 没离开过
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将string 转int相关的知识,希望对你有一定的参考价值。
/** * @param {string} str * @return {number} */ var myAtoi = function(str) { str = str.replace(/^(\s|\u00A0)+/,‘‘).replace(/(\s|\u00A0)+$/,‘‘); if( (str[0] !== ‘-‘ && str[0] !== ‘+‘) && isNaN(str[0])){ return 0; } var num = []; var i =0; if(str[0] === ‘-‘ || str[0] === ‘+‘){ i =1; } for(; i < str.length ; i++){ if(isNaN(str[i]) || str[i] === ‘ ‘){ break; } num.push(str[i]); } var int_num = 0; var ten = 1; while(num.length > 0){ var tmp = num.pop() * ten; int_num += tmp; ten *= 10; } if(str[0] === ‘-‘){ int_num = 0 - int_num; } if(int_num > 2147483647){ return 2147483647; } if(int_num < -2147483648){ return -2147483648; } return int_num; };
主要看异常处理情况:
1.前后空格的处理
2.+,- 符号的处理
3.要求字符串后有数字以外的字符仍然能够正常工作,例如‘452fjse‘ 输出 452
4.超过int 型数值范围处理 最大值2147483647 和最小值 -2147483648 。
以上是关于将string 转int的主要内容,如果未能解决你的问题,请参考以下文章
Failed to convert property value of type ‘java.lang.String‘ to required type ‘int‘ for property(代码片段