จัดรูปแบบสตริงจำนวนเต็มพร้อมเลขศูนย์นำหน้า


97

ฉันใช้รหัสนี้:

NSString* strName = [NSString stringWithFormat:@"img_00%d.jpg", pp];

และใช้งานได้ดี แต่ถ้า pp รับค่าเป็น 10 เช่นฉันต้องการผลลัพธ์ img_010.jpg ไม่ใช่ img_0010.jpg ... ฉันจะจัดรูปแบบสตริงได้อย่างไร ??

ขอบคุณ

คำตอบ:



5

สำหรับลูกหลาน: สิ่งนี้ใช้ได้กับเลขฐานสิบ

NSString *nmbrStr = @"0033620340000" ;
NSDecimalNumber *theNum = [[NSDecimalNumber decimalNumberWithString:nmbrStr]decimalNumberByAdding: [NSDecimalNumber one]] ;     
NSString *fmtStr = [NSString stringWithFormat:@"%012.0F",[theNum doubleValue]] ;

แม้ว่าข้อมูลนี้จะหายาก แต่ก็มีการบันทึกไว้ที่นี่ในย่อหน้าที่สองภายใต้พื้นฐานการจัดรูปแบบ มองหาอักขระ%

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/FormatStrings.html


1
โปรดทราบว่า "12" ใน@"%012.0F"หมายถึงจำนวนหลักทั้งหมดรวมถึงจุดทศนิยมและอะไรก็ได้ทางด้านขวา
bcattle

หากต้องการเพิ่มความคิดเห็นของ bcattle สิ่งนี้รวมถึงสิ่งที่อยู่ทางขวาด้วยเช่นกัน หากต้องการแสดง -012.34 คุณจะต้องใช้@"%07.2f"
n_b
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.