2012-04-02

Force.com : Apex で数値がある桁数に満たない場合に左(上位桁)を 0 埋めしたい


Apex で数値がある桁数に満たない場合に左(上位桁)を 0 埋めしたい



○ 数値がある桁数に満たない場合に左(上位桁)を 0 埋めしたい

/**
 * パッディング:左ゼロ埋め
 * @param n 数値
 * @param len 桁数(数値の桁を含める)
 * @return 
 */
public String paddingLeftZero(Integer n, Integer len) {
    Integer nlen = (Math.floor(Math.log10(Double.valueOf(n))).intValue() + 1);
    if(nlen >= len) return String.valueOf(n);
    String s = '';
    for(Integer i=0, l=len-nlen; i<l; i++) {
        s += '0';
    }
    return s + String.valueOf(n);
}



◆ メモ

  • 桁数を超える数値はどうでもいいことにする
  • 数値の桁数を求めるところは
    Integer nlen = n.format().length();
    
    でもよかったのかもしれないと思いつつ、なんとなくこれは習慣



◇ 環境

  • Salesforce - Developer Edition - API バージョン 24.0

0 件のコメント:

コメントを投稿