次のサンプルがあります(ideoneへのリンク)。
long lDurationMillis = 0;
lDurationMillis = Long.parseLong("30000.1");
System.out.print("Play Duration:" + lDurationMillis);
例外がスローされます。
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)
しかし、なぜその数値を文字列に直接変換できないのでしょうか?数値を整数に変換し、さらに double に変換できます。しかし、他の方法はありますか?