誰もこれに出くわしたことがありますか:
System.out.println("value of: " + Float.valueOf("3.0f")); // ok, prints 3.0
System.out.println(new BigDecimal("3.0f").floatValue()); // NumberFormatException
ここでの一貫性の欠如は、BigDecimal(String) が Float.valueOf() と同じ仕様に従っていないバグであると主張します (JDK ドキュメントを確認しました)。
強制的に BigDecimal を通過させるライブラリを使用していますが、そこに "3.0f" を送信する必要がある場合があります。既知の回避策はありますか (ライブラリでは BigDecimal にアクセスできません)。