最近听到一个面试题,将数值型字符串转换成int类型
【最近听到一个面试题,将数值型字符串转换成int类型】字符串string str = "1234556"转换成int=1234556,其实现在java里面有parse.Int就可以轻松转换,想了半天才想出来答案
package com.first;
/*逻辑:
* 1.先将字符串转为字符型数组String.toCharArray();
* 2.遍历字符型数组,每一位与'0'作减法存入数值 型 数组
* (由低到高,成为隐式转换,相减过程中会将char型先转int型然后相减速)
* 3.遍历相减后的数值型数组每位乘以(10的length-i-1次方)然后相加
* */
package com.sort;
public class StringToInt {
public static void main(String args[]) {
StringToInt s = new StringToInt();
s.String2Int("1234455");
} public static void String2Int(String s) {
char[] c = s.toCharArray();
Integer[] ints = new Integer[c.length];
for (int i = 0;
i < c.length;
i++) {
ints[i] = c[i] - '0';
}
Double result = 0D;
for (int i = 0;
i < ints.length;
i++) {
result += (ints[i] * Math.pow(10, (ints.length - 1 - i)));
// Math.pow得到的是一个Double型,所以result也要定义为Double型
}
Integer n = result.intValue();
// Double型转换成int型直接使用intValue()即可
System.out.println(n);
System.out.println(n.TYPE);
}
}
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 一个人的碎碎念
- JS中的各种宽高度定义及其应用
- 七年之痒之后
- 我从来不做坏事
- 异地恋中,逐渐适应一个人到底意味着什么()
- 人生感悟记#环境仪器宋庆国成长记#072
- 迷失的世界(二十七)
- live|live to inspire 一个普通上班族的流水账0723