2017-01-26 4 views
1

文字列を特定のパターンにフォーマットする方法を理解しようとしています。フォーマット特定のパターンに一致する文字列

ユーザーが従業員のID番号を入力すると、予想される内容が混乱することがよくあります。従業員IDは、雇用時に応じて5桁または4桁の番号であることが多いため、

たとえば、私の従業員ID番号はE004033ですが、ほとんどのシステムでは4033と入力するだけでシステムが見つかります。

これをカスタムページの1つに追加しようとしています。基本的に私がやりたいことは、常に彼らは4033を入力した場合、スクリプトは、彼らが0851のようなものを入力した場合、彼らは11027それを入力する場合、それはE000851にそれを変換したりします、E004033に変換しますので、E0XXXXX

のように見えるように文字列の形式ですE011027

基本的にパディングゼロを追加し、ユーザーの入力に欠けている場合はEを追加しますか?

答えて

1

その後、String.Formatのを使用して、6つのスペースにフォーマットし、ユーザの入力は、整数であることを確認してください。

int parsedId; 
bool ok = int.TryParse(id, out parsedId); 
if (ok) 
{ 
    return String.Format("E{0:000000}", parsedId); 
} 
+0

これは、実際には、jsmithなどのユーザー名を使用する人を含めるのを忘れていたことを同僚が私に指摘していたため、最高の解決策として機能しました。それは従業員のID番号を覚えておくために多くを支払われている上位アップだけに留保されています。 –

2

あなたは、単に次のことができます。

var formattedId = "E" + id.PadLeft(6, '0'); 

を削除するには、既存の大手E(S)

var text = "E" + val.TrimStart(new[] {'E'}).PadLeft(6, '0'); 
+0

「E004033」と入力した場合、文字列「EE004033」は生成されません。 –

+0

はい、私は最初の井戸形成された値のチェックがあると仮定します。 –

+0

私はそれを 'if'ステートメントでラップすることができると思います。 –

関連する問題