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ố.