获取数字格式的重复

Shi*_*rty -4 java string formatexception long-integer

无法解析数字以下.

Long.parseLong("1000.00".length() > 0 ? "1000.00" : "0")
Run Code Online (Sandbox Code Playgroud)

解析"1000.00"然后获取数字格式异常.

如何在java中将"1000.00"这个字符串解析为long?

T.J*_*der 5

longs是整数."1000"会工作."1000.00"有一个小数部分(零,但仍然),但不会.

如何在java中将"1000.00"这个字符串解析为long?

在一般情况下,你不能; a long不能存储小数部分.

现在,在您的具体示例中,小数部分为零,因此您可以将其删除:

long result = Long.parseLong("1000.00".split("\\.")[0]);
Run Code Online (Sandbox Code Playgroud)

或者您可以将其解析为double,然后截断它:

long result = (long)Double.parseDouble("1000.00");
Run Code Online (Sandbox Code Playgroud)

...但同样,请注意这long是一个不支持小数值的整数类型.