Làm cách nào để có số nguyên có hai chữ số trong chuỗi aa, ngay cả khi số nguyên nhỏ hơn 10?
[NSString stringWithFormat:@"%d", 1] //should be @"01"
Câu trả lời:
Tôi tin rằng các chỉ định stringWithFormat là các chỉ định printf IEEE tiêu chuẩn . Bạn đã thử chưa
[NSString stringWithFormat:@"%02d", 1];
Sử dụng chuỗi định dạng %02d
. Điều này chỉ định định dạng một số nguyên với chiều rộng trường tối thiểu là 2 ký tự và để đệm các giá trị được định dạng bằng 0 để đáp ứng chiều rộng đó. Xem man fprintf
để biết tất cả các chi tiết đẫm máu về các chỉ định định dạng.
Tuy nhiên, nếu bạn đang định dạng số để trình bày cho người dùng, bạn thực sự nên sử dụng NSNumberFormatter
. Các ngôn ngữ khác nhau có những kỳ vọng hoàn toàn khác nhau về cách các số nên được định dạng.
[NSString stringWithFormat:@"%00.02d", intValue]
Điều này giúp tôi chuyển đổi 1 thành 01.