-999999999999 有什么好的方法转换为 long 型吗?

2018-09-20 09:05:10 +08:00
 QueueY7Y

大家好,我是新手,请问-999999999999 有什么好的方法转换为 long 型吗?

2049 次点击
所在节点    问与答
17 条回复
QueueY7Y
2018-09-20 09:05:37 +08:00
-999999999999 是字符串
zwh2698
2018-09-20 09:19:19 +08:00
C Python Java ,,,,,?是自己要实现这个还是要应用?
jacobz
2018-09-20 09:21:44 +08:00
@zwh2698 python 不是 duck typing 吗
QueueY7Y
2018-09-20 09:22:51 +08:00
@zwh2698 是 JAVA
QueueY7Y
2018-09-20 09:23:04 +08:00
@jacobz 用 JAVA 抱歉
QueueY7Y
2018-09-20 09:23:34 +08:00
@zwh2698 实现就好啦
xiaonec
2018-09-20 09:31:33 +08:00
不就是 Long.parseLong(),加个 try-catch 就好么。
momocraft
2018-09-20 09:39:40 +08:00
如果这是代码的一部分:Long 字面量是 `-999999999999L`
whoami9894
2018-09-20 09:41:47 +08:00
@jacobz
鸭子类型和楼主说的有什么关系吗
jacobz
2018-09-20 09:45:05 +08:00
@whoami9894 楼主特别提到了 long,如果不考虑 python 最新的 static typing,应该不可能是 python。
MozzieW
2018-09-20 10:09:51 +08:00
我还以为是 LeetCode, 看了发现是入门:
```
String value = "-999999999999";
System.out.println(value);
Long result = Long.parseLong(value);
System.out.println(result);
```
结果:
```
-999999999999
-999999999999
```
qiaoguoqiang
2018-09-20 10:11:04 +08:00
可以的,这问题很强势
QueueY7Y
2018-09-20 10:11:55 +08:00
@xiaonec 是噢,我还用的 Integer.parseLong...谢谢啦
QueueY7Y
2018-09-20 10:13:18 +08:00
@MozzieW 非常感谢
moxiaonai
2018-09-20 10:38:57 +08:00
长数字用字符串
zwh2698
2018-09-20 12:04:32 +08:00
public class Helloc {


public static long parseLong(String number) {
long n = 0;
if (number == null || number.isEmpty()) {
System.out.println("Number is null or empty");
return n;
}
boolean isNegative = false;
if (number.charAt(0) == '-') {
isNegative = true;
} else {
n = getValue(number.charAt(0));
}
for (int i = 1; i < number.length(); i++) {
n = n * 10 + getValue(number.charAt(i));
}
return isNegative ? (-1 * n) : n;
}

public static int getValue(char ch) {
int value = ch;
if (value < '0' || value > '9') {
throw new NumberFormatException();
}
return value - '0';
}

public static void main(String[] args) {

long v = parseLong("-999999999999");
System.out.println(v);
}
}


给你啦,自己整理整理
zwh2698
2018-09-20 12:05:58 +08:00
当然,如果你是应用,请使用 Long.parseLong() 来完成。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/491042

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX