Chuyển K, M, B, T thành số thực bằng JavaScript
Trên nhiều nền tảng như YouTube, Facebook, lượt xem, số tiền hay các chỉ số lớn thường được rút gọn bằng chữ cái: K (nghìn), M (triệu), B (tỷ), T (nghìn tỷ). Nếu bạn muốn chuyển ngược lại các giá trị này để tính toán trong JavaScript, đoạn hàm sau sẽ rất hữu ích.
Hàm chuyển đổi giá trị viết tắt thành số
function convertAbbrToNumber(val) {
if (typeof val === 'number') return val;
const units = {
k: 1e3,
m: 1e6,
b: 1e9,
t: 1e12
};
const match = val.toLowerCase().match(/^([\d,.]+)([kmbt]?)$/);
if (!match) return NaN;
const number = parseFloat(match[1].replace(/,/g, ''));
const multiplier = units[match[2]] || 1;
return number * multiplier;
}
// Ví dụ:
convertAbbrToNumber('1.2K'); // 1200
convertAbbrToNumber('9.5M'); // 9500000
convertAbbrToNumber('1.2T'); // 1200000000000
Gợi ý sử dụng
- Dùng cho hệ thống đọc số liệu từ API, báo cáo, thống kê
- Kết hợp với hàm
convertToAbbreviation()để chuyển qua lại - Hỗ trợ K, M, B, T – bạn có thể mở rộng nếu cần thêm đơn vị khác
Kết luận
Hàm nhỏ gọn này giúp bạn chuyển đổi giá trị số rút gọn về số thực để xử lý tiếp trong các phép toán, biểu đồ, lọc dữ liệu… Đây là một phần nên có trong bộ tiện ích JavaScript cơ bản của bất kỳ dự án nào.
Bình luận