Tôi có mẫu sau (link to ideone).Chuyển đổi chuỗi có chứa số thập phân thành Long
long lDurationMillis = 0;
lDurationMillis = Long.parseLong("30000.1");
System.out.print("Play Duration:" + lDurationMillis);
Nó ném một ngoại lệ:
Exception in thread "main" java.lang.NumberFormatException: For input string: "30000.1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:419)
at java.lang.Long.parseLong(Long.java:468)
at Main.main(Main.java:9)
Nhưng tại sao nó sẽ không cho phép tôi chuyển đổi con số đó thành một chuỗi trực tiếp tôi có thể chuyển đổi số để nguyên và vì chuyển sang tăng gấp đôi?. Nhưng có cách nào khác không?
Tại sao không chuyển đổi các số thập phân trực tiếp đến một 'double' với 'Double.parseDouble (văn bản);' hoặc đến một BigDecimal với 'new BigDecimal (văn bản);' –
Tiêu đề cho biết chuyển đổi chuỗi thành câu hỏi dài, đầu tiên là về việc coverting number thành chuỗi, câu lệnh tiếp theo về việc chuyển đổi số thành số nguyên thành chuỗi. Tôi nhầm lẫn –
Không rõ ý bạn là gì. Bạn có thể chuyển đổi bất kỳ số nào thành 'Chuỗi' với, ví dụ,' Long.toString (long l) '. –