Convertendo uma String que contém decimal para Long

Eu tenho seguinte amostra (link para ideone).

long lDurationMillis =  0;
lDurationMillis = Long.parseLong("30000.1");
System.out.print("Play Duration:" + lDurationMillis);

Ele lança uma exceção:

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)

Mas por que não me permite converter esse número em uma string diretamente? Eu posso converter um número em inteiro e depois convertê-lo em double. Mas existe alguma outra maneira?

questionAnswers(5)

yourAnswerToTheQuestion