Xin chào tất cả các bạn đã quay trở lại với loạt bài viết về Java, hôm nay chúng ta sẽ cùng tìm hiểu một lớp rất là thú vị và hữu ích trong Java.
Nào, có phải trong quá trình lập trình thì các bạn thường xuyên phải thao tác với các số liệu đúng không nào, mỗi lần muốn đổi định dạng để xử lý cho một tác vụ khác nhau như: Số tiền, số người, số trung bình, … chúng ta khá là “cực”.
Để giải quyết cái sự cực này thì chúng ta có thể chọn phương pháp đó là tự tạo cho mình một lớp chuyên để xử lý định dạng số liệu.
Tuy nhiên, mình nghĩ rằng chúng ta không cần làm việc đó đâu.
Bạn còn nhớ đến lợi thế cộng đồng sử dụng lớn của Java chứ?
Đúng rồi đấy, nhờ có cộng động lớn nên sẽ có nhiều người gặp rắc rối giống như bạn và họ đã tạo ra một lớp để những người đến sau không cần phải viết lại nữa.
Đó là lớp DecimalFormat trong Java, một lớp chuyên dùng để đặt định dạng cho các kiểu số liệu.
1. Decimalformat trong java là gì?
DecimalFormat trong Java
Đúng như cái tên của nó, lớp DecimalFormat là dùng để format (định dạng) ... decimal (số thập phân).
Cụ thể, nó sẽ giúp chúng ta đặt định dạng cho số thập phân với nhiều mục đích sử dụng khác nhau như:
-
Theo tiêu chuẩn của từng quốc gia
-
Theo tiêu chuẩn từng khu vực
Với các đặc tính có thể định dạng hầu hết các dữ liệu dạng số theo định dạng mà ta chỉ định, lớp DecimalFormat là một công cụ đắc lực cho lập trình viên Java.
Note: Khi đi làm thực tế thì bạn sẽ làm việc rất nhiều với nó đấy.
> Nếu bạn đang tìm kiếm KHÓA HỌC JAVA WEB với các kiến thức được ứng dụng trong thực tế thì hãy liên hệ ngay với NIIT - ICT Hà Nội.
Vậy là chúng ta đã có một cái nhìn về DecimalFormat là gì rồi nhỉ? Giờ thì đi vào cách sử dụng của nó thôi nào.
2. Hướng dẫn làm việc với DecimalFormat trong Java
Bên dưới đây là một ví dụ hướng dẫn bạn tự cài đặt định dạng cho số thập phân:
Nhưng trước tiên, để sử dụng Class DecimalFormat thì chúng ta phải import nó vào chương trình đã, đây là cú pháp:
import java.text.DecimalFormat;
Tiếp theo, đây là cách bạn tự định dạng số thập phân.
class Main
{
public static void main(String[] args)
{
float floatNumber = 4337.574646265748567f;
//Tạo một đối tượng đại diện cho Locale để lưu trữ thông tin vị trí địa lý
Locale locale = new Locale("en", "EN");
/*Tạo một pattern để đặt định dạng cho số,
ở đây cứ 3 số nguyên sẽ được ngăn cách bằng 1 dấu phẩy,
phần thập phân và phần nguyên được ngăn cách bởi dấu chấm,
lưu ý rằng phần nguyên số chữ số là không cố định,
tức là dù có khai báo là 6 dấu "#" ở phần nguyên,
nhưng vẫn có thể xử lý một số có phần nguyên là 4 hoặc 8 chữ số,
nhưng ở phần thập phân thì sẽ được làm tròn đến đúng với số lượng dấu #*/
String pattern = "###,###.##";
/* Tạo một thể hiện của DecimalFormat,
sau đó dùng hàm getNumberInstance để định dạng số
theo tiêu chuẩn của locale được truyền vào, ở đây là nước Anh*/
DecimalFormat decimalFormat = (DecimalFormat)NumberFormat
.getNumberInstance(locale);
// Áp dụng mẫu pattern = "###,###.##" cho decimalFormat
decimalFormat.applyPattern(pattern);
System.out.println("Số " + floatNumber + " sau khi định dạng = " +
dcf.format(floatNumber));
}
}
Định dạng số ở dạng phần trăm và tiền tệ:
class Main
{
public static void main(String[] args)
{
// Định dạng số ở dạng tiền tệ
long soTien = 25000L;
String patternTienTe = "$###"; // Khi hiển thị sẽ có ký tự "$" ở đầu
DecimalFormat formatTienTe = new DecimalFormat(patternTienTe);
String stringTienTe= formatTienTe.format(soTien);
System.out.println(
"Số "
+ soTien
+ " sau khi định dạng ở dạng tiền tệ = "
+ stringTienTe
);
// Định dạng số ở dạng phần trăm
double phanTram= 0.082d;
// 2 chữ số ở phần thập phân
String patternPhanTram = "###.##%"; // Khi hiển thị sẽ có ký tự "%" ở cuối
DecimalFormat formatPhanTram = new DecimalFormat(patternPhanTram);
String stringPhanTram = formatPhanTram.format(phanTram);
System.out.println(
"Số "
+ phanfTram
+ " sau khi định dạng ở dạng phần trăm = "
+ stringPhanTram
);
}
}
3. Ký tự định dạng trong class DecimalFormat
Bạn có thể sử dụng các ký tự đặc biệt sau trong mẫu định dạng để tùy biến định dạng theo ý của bạn:
-
0
Một chữ số - luôn được hiển thị, ngay cả khi số có ít chữ số hơn (thì 0 được hiển thị)
-
#
Một chữ số, số 0 đứng đầu sẽ được bỏ qua (Không hiển thị).
-
.
Dấu phân cách dấu thập phân
-
,
Dấu phân cách nhóm (ví dụ: dấu phân cách hàng nghìn)
-
E
Đánh dấu sự phân tách phần định trị và số mũ cho các định dạng hàm mũ.
-
%
Nhân với 100 và hiển thị số dưới dạng phần trăm
-
?
Nhân với 1000 và hiển thị số như một nghìn
-
¤
Ký hiệu tiền tệ - được thay thế bằng ký hiệu tiền tệ cho Địa điểm. Cũng làm cho định dạng sử dụng dấu tách thập phân tiền tệ thay vì dấu tách thập phân thông thường. Làm cho định dạng sử dụng các ký hiệu tiền tệ quốc tế.
-
X
Đánh dấu một ký tự được sử dụng trong tiền tố số hoặc hậu tố
-
'
Đánh dấu một trích dẫn xung quanh các ký tự đặc biệt trong tiền tố hoặc hậu tố của số được định dạng
Như bạn đã thấy, ngoài những ứng dụng đã nêu thì lớp DecimalFormat trong Java còn có thể linh hoạt áp dụng cho nhiều mục đích khác nhau, cái này thì phụ thuộc vào tính sáng tạo và giải quyết vấn đề của lập trình viên.
Như vậy, chúng ta vừa cùng nhau đi qua một lớp nữa rất là hữu ích trong Java.
Hi vọng giúp bạn phần nào đó hiểu được cách định dạng số trong khi lập trình Java.
Các bạn cũng đừng quên, kỹ năng quan trọng nhất cần phải có của một lập trình viên là kỹ năng tự học.
Đây là một ngành đặc thù, mà Java lại còn được đánh giá là khó hơn một chút so với các ngôn ngữ khác.
Hơn nữa, thế giới công nghệ là cần phải liên tục cập nhật kiến thức mới, có khi kiến thức mới học hôm qua thì hôm nay đã lỗi thời.
Vì lý do đó mà chúng ta cần phải học và đổi mới kiến thức liên tục, các bạn cần phải học mỗi ngày để không bị thụt lùi.
Một bí quyết trong việc tự học, đặc biệt là tự học Java đó chính là đừng học một lần quá nhiều mà hãy chia nhỏ ra, mỗi thời điểm học 1 ít, nhưng đều đặn và liên tục, như vậy sẽ hiệu quả hơn rất nhiều.
> Xem thêm: Hướng dẫn Tự học Java
Nhớ luyện tập mỗi ngày nhé.
“Đi đi, chậm cũng được, miễn là đừng dừng lại”.
Nếu thấy bài viết của mình có giúp ích được gì cho bạn, thì xin hãy giúp lại mình bằng cách để lại 1 đáng giá và 1 bình luận. Thực sự bạn sẽ không mất quá nhiều thời gian để làm việc đó, nhưng nó giúp ích cho mình rất lớn. Cảm ơn bạn.
> Xem thêm: Continue trong Java
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python