Đị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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.