Bir dizeye sıfır dolgu ekleme


159

Dize uzunluğumun her zaman 4 olması için bir dizeye "0" dolgusunu nasıl eklerim?

Misal

If input "1", 3 padding is added = 0001
If input "25", 2 padding is added = 0025
If input "301", 1 padding is added = 0301
If input "4501", 0 padding is added = 4501

Yanıtlar:


295

PadLeft'i kullanabilirsiniz

var newString = Your_String.PadLeft(4, '0');

20
Unutmayın "12345".PadLeft(4,'0')olduğunu hala "12345" - bu keser olmaz. Bu, bu spesifikasyona cevap vermediğinden, tüm spesifikasyonları karşıladığından (kabul edilen cevap olarak seçtiğiniz bir cevabın alınması konusunda garip bir şekilde tatmin edici bir şey var (kendi dersinizden birini kabul etmek kadar tatmin edici olmasa da), sıralama oğlunuzun en iyi okula girmesi gibi), sadece gelecekte çirkin kafasını yeniden yetiştirmesi durumunda bahsettiğimi düşündüm. Cripes, Umarım bu parantezler dengeli :-)
paxdiablo

20
@paxdiablo: Gülen yüze kadar vardı.
Paul Ruane

1
"1.2".PadRight(4,'0')"1.20" gibi bir dize numarasını sıfır doldurmak için de çalışır. Basit bir dize numarasını <10000 kesmek ve doldurmak için bunu yapabilirim. num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');
Dan Randolph


31
string strvalue="11".PadRight(4, '0');

çıktı = 1100

string strvalue="301".PadRight(4, '0');

çıktı = 3010

string strvalue="11".PadLeft(4, '0');

çıktı = 0011

string strvalue="301".PadLeft(4, '0');

çıktı = 0301



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.