0

java DecimalFormat( "0。#")に似た文字列フォーマッタがJavaにあるかどうか疑問に思います

ダッシュでマスクする必要のある次の数字のセット「00-0000-00」があります。DecimalFormat("00-0000"を処理するのと同じ方法でこれを実行できるフォーマッターがあることを期待していました。 -00 ")。そのような方法が存在しない場合、誰かが代替ソリューションの例を提供できますか?

データベースに保存するときにダッシュを削除し、データベースから取得するときにダッシュを追加し直す必要があります。

ありがとう

4

3 に答える 3

6

見たことがありString.format("%2d-%4d-%2d", int1, int2, int3)ますか?

例:

    int n = 12345678;
    String formatted = String.format("%2d-%4d-%2d", n / 1000000, (n / 100) % 10000, n % 100);
    int orig = Integer.valueOf(formatted.replace("-", ""));
    System.out.println(String.format("formatted=%s, orig=%d", formatted, orig));
    // formatted=12-3456-78, orig=12345678
于 2012-06-18T13:49:01.500 に答える
1

JavaにはString.formatメソッドがあります。

次に、すべて置換を使用して元に戻します。

于 2012-06-18T13:50:30.653 に答える
0

カスタムメソッドとその逆を記述します。前者はデータベースに追加する前に呼び出され、後者はデータベースを取得した後に呼び出されます。それほど問題にはならないはずだと私は信じています。

于 2012-06-18T13:52:02.697 に答える