无法解析数字以下。
Long.parseLong("1000.00".length() > 0 ? "1000.00" : "0")
解析“1000.00”然后获取数字格式异常。
如何在java中解析“1000.00”这个字符串为long?
答案 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")