DecimalFormat trong Java

java.text.DecimalFormat trong java là lớp được sử dụng để định dạng số sử dụng một mẫu định dạng chỉ định cho mình. Bài viết này hướng dẫn và  giải thích cách sử dụng lớp DecimalFormat để định dạng các loại số khác nhau.

Tạo một DecimalFormat

Tạo một DecimalFormat được thực hiện như sau:

String pattern = "###,###.###";
DecimalFormat decimalFormat = new DecimalFormat(pattern);

Tham số mẫu truyền vào cho DecimalFormat được xây dựng để khi tham số truyền vào nó sẽ được định dạng theo pattern.

Định dạng số

Để định dạng một số bằng cách sử dụng format() phương thức của DecimalFormat.Dưới đây là một ví dụ:

String pattern = "###,###.###";
DecimalFormat decimalFormat = new DecimalFormat(pattern);

String format = decimalFormat.format(123456789.123);
System.out.println(format);

Kết quả:

123.456.789,123

Tạo một DecimalFormat đối với một Locale cụ thể

Phần trước tạo ra một DecimalFormat cho mặc định Locale của JVM (computer) như chạy  ví dụ trên. Nếu bạn muốn tạo một DecimalFormat thể hiện t cụ thể cho một Locale, thì tạo ra một NumberFormat và đặt nó vào một DecimalFormat.Dưới đây là một ví dụ:

Locale locale  = new Locale("vi" , "VN");
String pattern = "###.##";

DecimalFormat decimalFormat = (DecimalFormat)
        NumberFormat.getNumberInstance(locale);
decimalFormat.applyPattern(pattern);

String format = decimalFormat.format(123456789.123);
System.out.println(format);

Kết quả:

123456789.12

Nếu bạn đã sử dụng một Locale là nước Anh thay vào như thế này:

Locale locale  = new Locale("en" , "EN");
String pattern = "###.##";

DecimalFormat decimalFormat = (DecimalFormat)
        NumberFormat.getNumberInstance(locale);
decimalFormat.applyPattern(pattern);

String format = decimalFormat.format(123456789.123);
System.out.println(format);

Kết quả:

123456789,12

Chú ý việc sử dụng một dấu phẩy thay vì một chấm để tách phần số nguyên từ phần phân số của số.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x