- ベストアンサー
DecimalFormatの形式について
java.text.NumberFormat#parse(String)を使って、 (実際にはjava.text.DecimalFormatを使っています) Stringからlongへの変換を行おうとしています。 その際、入力パターンとして符号つき整数を受け付け、 かつ符号がないときは正として扱おうとしていますが、 そのようなパターンの記述方法がわかりません。 負のときはいいんですが、正のときの場合において +をつけなければいけないか、つけてはいけないか、 どちらかのパターンしか記述ができません。 Long#parseLong(String)も、+がついていると java.lang.NumberFormatExceptionになってしまいました。 2つのパターンを用意して、java.text.ParseExceptionなら もう片方のパターンで変換を行うという方法でなら もちろん実現できるのですが、もし可能であれば 1回の変換で実現できる方法を知りたいです。 APIドキュメントを読んでもよくわかりませんでした。。。。 ご存じの方いらっしゃいましたら、ご教授下さい。
- みんなの回答 (2)
- 専門家の回答
お礼
回答ありがとうございました。 なるほど、Formatterクラスを作ってしまえば 細かい処理を隠蔽して呼ぶことができますね。 実際には、No.1で回答いただいたような細かい処理が 共通処理的な部分におくようになっているので そこまでしなくても隠蔽化はできているのですが、 Formatterクラスを作るという発想は自分にはなかったので なるほど…と思ってしまいました。 でも逆に言えば、DecimalFotmatではやはりできないってことですね。