-8
是否可以将字符串转换为long而不使用java的内置函数?将字符串转换为长
例如:
String s = "35";
long ans = Long.parseLong(s);
你怎么能执行相同的任务,而无需使用Java的Long.parseLong function
是否可以将字符串转换为long而不使用java的内置函数?将字符串转换为长
例如:
String s = "35";
long ans = Long.parseLong(s);
你怎么能执行相同的任务,而无需使用Java的Long.parseLong function
是的,这是可能的。只要用传统的方式来做就行了。使用String.charAt()从单位开始获取每个字符,然后乘以10的因子并不断累加,直到达到字符串的起始位置。当然,你必须照顾特殊情况。
是:
public static void main(String[] args) {
String s = "35";
long ans = parse(s);
}
public final static long parse(CharSequence d) {
int l = d.length();
boolean n= d.charAt(0) == '-';
long v = 0;
int p = n?1:0;
do {
v *= 10;
int i = d.charAt(p) - 48;
if (i < 0 | i > 9)
throw new NumberFormatException(d+"");
v += i;
p++;
} while (l > p);
return n?-v:v;
}
你为什么要?这是功课吗?如果是这样,请添加作业标签。 – 2012-02-27 19:44:10
通过查看parseLong();-)的源代码 – 2012-02-27 19:45:02
是;你可以重写'parseLong()'。 – SLaks 2012-02-27 19:45:23