เพิ่ม zero-padding ให้กับสตริง


159

ฉันจะเพิ่มการเติม "0" ลงในสตริงได้อย่างไรเพื่อให้ความยาวสตริงของฉันเป็น 4 เสมอ?

ตัวอย่าง

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

คำตอบ:


295

คุณสามารถใช้PadLeft

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

20
โปรดทราบว่ายังคง"12345".PadLeft(4,'0')เป็น"12345" - จะไม่ตัดทอน สิ่งนี้ไม่ได้เบี่ยงเบนจากคำตอบนี้เพราะมันตรงตามข้อกำหนดทุกประการ (มีบางสิ่งที่น่าพอใจอย่างมากเกี่ยวกับการมีคำตอบที่คุณได้รับการโหวตเลือกให้เป็นที่ยอมรับ (แม้ว่าจะไม่พอใจเท่าที่คุณยอมรับแน่นอน) เหมือนลูกชายของคุณเข้าโรงเรียนที่ดีที่สุด) แค่คิดว่าฉันพูดถึงมันในกรณีที่มันเลี้ยงหัวน่าเกลียดในอนาคต Cripes ฉันหวังว่าวงเล็บเหล่านี้มีความสมดุล :-)
paxdiablo

20
@paxdiablo: พวกเขาจนกระทั่งยิ้ม
Paul Ruane

1
"1.2".PadRight(4,'0')ใช้ได้กับการกรอกหมายเลขสตริงเช่น "1.20" ด้วย ฉันสามารถทำเช่นนี้เพื่อตัดทอนและกรอกหมายเลขสตริงง่าย ๆ <10,000 num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');
Dan Randolph


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

output = 1100

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

output = 3010

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

output = 0011

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

output = 0301



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.