Java - Thêm số không vào đầu một số với chiều dài được xác định(Left padding integers with zeros).





Đề mục đặt ra trong bài viết này là làm sao thêm được các con số 0 vào trước các số mà vẫn giữ được chiều dài qui định.

Bài viết này sẽ hướng dẫn cách thêm các số không vào các số với chiều dài được cố định.






Đầu tiên ta sẽ mô tả sơ qua đề mục yêu cầu, trong trường hơp có dãy số sau:
1
2
3
..............
10
11
12
13

Và đề mục yêu cầu phải thêm các số không vào trước các số của dãy trên với chiều dài của số là 10, giống như bên dưới.
0000000001
0000000002
0000000003
..............
0000000010
0000000011
0000000012
0000000013

Đối với một bạn mới học lập trình, kể cả các bạn có kinh nghiệm lâu năm thì phương pháp nghĩ ra đầu tiên có thể là như sau:
int number = 133;
String str_number = "0000000000".substring(Integer.toString(number).length()) + number;                             
System.out.println("Add leading zero to number: " + str_number);

Nhưng thực sự không ngờ thằng Java nó cung cấp một hàm vô cùng đơn giản sau để giải quyết vấn đề trên.
int number = 133;
String str_number = String.format("%010d", number);                             
System.out.println("Add leading zero to number: " + str_number);

Ở đây Java cung cấp lớp(class) Format để xử lý trường hợp này. Chỗ "%010d" bạn có thể tùy biến nó thành 9(%09d) số 5(%05d) số hay 3(%03d) số gì cũng được.

Để hiểu hơn về lớp(class) bào vào website này để tìm hiểu nha.

















No comments:

Post a Comment