Định dạng chuỗi, số nguyên với các số không ở đầu


97

Tôi sử dụng mã này:

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

và hoạt động tốt, nhưng nếu pp lấy giá trị là 10 chẳng hạn, tôi muốn kết quả là img_010.jpg, chứ không phải img_0010.jpg ... làm thế nào tôi có thể định dạng chuỗi ??

cảm ơn

Câu trả lời:


249

Sử dụng chuỗi định dạng "img_%03d.jpg"để nhận các số thập phân có ba chữ số và các số 0 ở đầu.


5

Đối với hậu thế: điều này hoạt động với số thập phân.

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

Mặc dù thông tin này rất khó tìm, nhưng nó thực sự được ghi lại ở đây trong đoạn thứ hai bên dưới Khái niệm cơ bản về định dạng. Tìm ký tự%.

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


1
Lưu ý ở đây rằng "12" ở @"%012.0F"đề cập đến tổng số chữ số, vì vậy bao gồm cả dấu thập phân và bất kỳ thứ gì ở bên phải.
bcattle

Để thêm vào bình luận của bcattle, điều này cũng bao gồm bất kỳ điều gì ở bên phải . Để hiển thị -012.34, bạn phải sử dụng@"%07.2f"
n_b 14/02/16
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.