DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォーマットされた文字列作成

  • 題名: フォーマットされた文字列作成
  • 著者: るち
  • 日時: 2006/07/27 19:19:15
  • ID: 16866_2
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[VB2005]
分類:[.NET]

文字の位置を揃えた文字列を作りたいと思っています。位置の計算は半角単位計算です(全角文字は半角2文字として計算)。
たとえば下のように ":" の位置をそろわせるような感じです。

あいう     :
あいうえ   :

このようなことは、C言語ではsprintf関数を使用して
 sprintf(s, "%-15s:", "あいう");
 sprintf(s1, "%-15s:", "あいうえ");
とすると、どちらの場合も ":" が半角換算で16文字目の位置にそろってくれます。

同じことVB2005でFormatメソッドを使用して
 String.Format("{0,-15}:", "あいう")
 String.Format("{0,-15}:", "あいうえ")
のようにとすると : の位置がずれてしまいます(全角も半角も1文字として計算してしまう)。

Cのsprintfのように半角換算で位置を合わせて文字列をフォーマットする方法はありませんでしょうか。

よろしくお願いします。

DOBON.NET | プログラミング道 | プログラミング掲示板