Maika8008
Thành viên gạo cội




Hàm VND hỗ trợ cho anh em có làm việc ở Google Sheets:
JavaScript:
function VND(numcurrency) {
var ChuSo = ["không", "một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám", "chín"];
var DonViTien = "đồng";
numcurrency = Math.round(numcurrency);
if (numcurrency === 0) return "Không " + DonViTien;
if (numcurrency > 922337203685477) {
return "Không đổi được số lớn hơn 922.337.203.685.477";
}
// Tách thành các cụm 3 chữ số
var parts = [];
while (numcurrency > 0) {
parts.unshift(numcurrency % 1000);
numcurrency = Math.floor(numcurrency / 1000);
}
var units = ["", "nghìn", "triệu", "tỷ", "nghìn tỷ", "triệu tỷ"];
var result = "";
for (var i = 0; i < parts.length; i++) {
var group = parts[i];
var isFirstGroup = (i === 0);
if (group === 0) continue;
var hundred = Math.floor(group / 100);
var ten = Math.floor((group % 100) / 10);
var unit = group % 10;
var str = "";
if (hundred > 0) {
str += ChuSo[hundred] + " trăm ";
if (ten === 0 && unit > 0) str += "lẻ ";
} else if (!isFirstGroup && (ten > 0 || unit > 0)) {
str += "không trăm ";
if (ten === 0 && unit > 0) str += "lẻ ";
}
if (ten > 1) {
str += ChuSo[ten] + " mươi ";
if (unit === 1) str += "mốt ";
else if (unit === 5) str += "lăm ";
else if (unit > 0) str += ChuSo[unit] + " ";
} else if (ten === 1) {
str += "mười ";
if (unit === 1) str += "một ";
else if (unit === 5) str += "lăm ";
else if (unit > 0) str += ChuSo[unit] + " ";
} else if (ten === 0 && unit > 0) {
str += ChuSo[unit] + " ";
}
// Thêm đơn vị và dấu phẩy nếu chưa phải cụm cuối
str = str.trim() + " " + units[parts.length - 1 - i];
if (i < parts.length - 1) str += ",";
result += str + " ";
}
result = result.trim();
result = result.charAt(0).toUpperCase() + result.slice(1) + " " + DonViTien;
return result;
}

