获取数字格式的重复

时间:2017-01-18 12:23:15

标签: java string long-integer formatexception

无法解析数字以下。

Long.parseLong("1000.00".length() > 0 ? "1000.00" : "0")

解析“1000.00”然后获取数字格式异常。

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

3 个答案:

答案 0 :(得分:5)

long是整数。 "1000"会奏效。 "1000.00"有一个小数部分(零,但仍然是),但不会。

  

如何解析" 1000.00"这个字符串在java中长吗?

在一般情况下,你不能; long无法存储小数部分。

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

long result = Long.parseLong("1000.00".split("\\.")[0]);

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

long result = (long)Double.parseDouble("1000.00");

...但是请注意long是一个不支持小数值的整数类型。

答案 1 :(得分:0)

删除该字符串的点或小数部分,Long实际上是一个64位容量的整数...

System.out.println(Long.parseLong("1000.00".length() > 0 ? "1000" : "0"));

答案 2 :(得分:0)

(long)Double.parseDouble("1000.00".length() > 0 ? "1000.00" : "0")