Khám phá
Trả lời
Hỏi
Đăng nhập

Định dạng số theo format sau - javascript

Mình muốn làm tròn số mà chỉ giữ chữ số bên trái ngoài cùng. Sau đó rút gọn theo luật sau: hàng ngàn lấy đơn vị K, hàng triệu lấy đơn vị M, hàng tỉ lấy đơn vị B.

Ví dụ:

123456 -> 100K

5234856 -> 5M

610000321 -> 600M

212139300456 -> 200B

88912139300456 -> 80000B

  • Bạn ơi, ví dụ thứ 2 đáng lẽ là 5M chứ

    Vũ Cao
      cách đây 2 tháng
  • À, đúng rùi. Mình update lại rồi đó ^^

    windy
      cách đây 2 tháng
  1. Bạn sẽ nhìn thấy những mũi tên trong mỗi trang câu hỏi. Chúng cho phép bạn bỏ phiếu thuận / bỏ phiếu chống theo sự liên quan của các câu hỏi / trả lời.
  2. Chỉnh sửa câu hỏi của bạn / câu trả lời nếu bạn muốn thay đổi hoặc cập nhật nó.
  3. Nếu bạn không hiểu điều gì đó về câu hỏi, để lại nhận xét hỏi. Những vùng cho câu trả lời chỉ được sử dụng cho câu trả lời.
  4. Nếu tác giả của một câu hỏi đánh dấu một câu trả lời như giải pháp, nhãn hiệu này sẽ được hiển thị.
  5. Nhấn vào đây để xem thêm chi tiết về những hoạt động của hệ thống!

1 trả lời

  • Đây là cách của mình cho trường hợp của bạn:

    function formatMoney(money) {
        var moneyStr = money.toString();
        var retStr = moneyStr[0];
        for (var i = 1; i < moneyStr.length; i++) {
            var c = moneyStr[i];
            if (c == '.') {
                retStr += c;
            } else {
                retStr += '0';
            }
        }
    
        var currency = '';
        var formatedMoney = parseInt(retStr);
        if (formatedMoney >= 1000 && formatedMoney < 1000000) {
            formatedMoney /= 1000;
            currency = 'K'
        } else if (formatedMoney < 1000000000) {
            formatedMoney /= 1000000;
            currency = 'M'
        } else {
            formatedMoney /= 1000000000;
            currency = 'B'
        }
    
        return formatedMoney + currency;
    }

Không phải là câu trả lời bạn đang tìm kiếm? Tìm kiếm câu hỏi khác với các thẻ javascript money format hoặc hỏi câu hỏi mới.