Tìm hiểu DecimalFormat trong Java

Ngày đăng: 28/07/2020   -    Cập nhật: 28/07/2020
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

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
  • Định dạng tiền tệ
  • Phần trăm …

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 stringTienTeformatTienTe.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 phanTram0.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ũ.
  • ; Tách định dạng
  • - Đánh dấu tiền tố số â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
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!