Files
group_fqcd_jr/app/static/portal/common/formatters.js
T
2026-09-13 15:56:54 +08:00

36 lines
1.2 KiB
JavaScript

export function formatCurrency(value) {
const number = Number(value || 0);
return `¥${number.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
}
export function formatNumber(value, digits = 2) {
return Number(value || 0).toLocaleString('zh-CN', { minimumFractionDigits: digits, maximumFractionDigits: digits });
}
export function formatPercent(value) {
const number = Number(value || 0);
return `${number > 0 ? '+' : ''}${number.toFixed(2)}%`;
}
export function formatDateTime(value) {
if (!value) return '--';
const date = new Date(value);
if (Number.isNaN(date.getTime())) return String(value);
return new Intl.DateTimeFormat('zh-CN', {
year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', hour12: false,
}).format(date).replaceAll('/', '-');
}
export function valueClass(value) {
const number = Number(value || 0);
if (number > 0) return 'value--positive';
if (number < 0) return 'value--negative';
return 'value--muted';
}
export function escapeHtml(value) {
const node = document.createElement('span');
node.textContent = String(value ?? '');
return node.innerHTML;
}