文字のフォーマット – プログラミング – Home

通知
すべてクリア

[解決済] 文字のフォーマット


シー
 シー
(@シー)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

以前にも同じ様な質問がありましたが、分からない部分があるので質問します。

数値を文字列に変換するときに右詰にして、残りをスペースにする。


System.Int32 の変数の値が 96 の時
96 の文字列を作りたい。

残りを 0 で埋めるのであれば出来ました。
System.Int32 i32;
i32 = 96;
string str = System.String.Format({0:d4},i32);

環境 VS.NET VC#.NET WINDOWS2000
以上よろしくお願いします。


引用未解決
トピックタグ
シー
 シー
(@シー)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

自己レスです。
2行になるのですが、とりあえず Replace で対処しました。

System.Int32 i32;
i32 = 96;
string str = System.String.Format({0:d4},i32);
str = str.Replace(0, );

解決とさせていただきますが、
他の方法(1命令でできる)がありましたらよろしくお願いします。


返信引用
よねKEN
 よねKEN
(@よねKEN)
ゲスト
結合: 22年前
投稿: 19
 

Replaceで置き換えると例えば数値が90だとまずいのでは?
PadLeftメソッドを使うとよいと思います。

string str = i32.ToString().PadLeft(3, ' ');


返信引用
シー
 シー
(@シー)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

>Replaceで置き換えると例えば数値が90だとまずいのでは?

そうですよね。後では気ずきにくい、バグの原因になるところでした。
ありがとうございました。

System.Int32 i32;
i32 = 90;
string str = System.String.Format({0:d4},i32);
str = i32.ToString().PadLeft(str.Length, ' ');


返信引用
シー
 シー
(@シー)
ゲスト
結合: 22年前
投稿: 17
Topic starter  

訂正です。

System.Int32 i32;
i32 = 90;
string str = i32.ToString().PadLeft(4, ' ');


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました