// Buat sebagai variabel global window.formatNumber = function(value) { if (!value && value !== 0) return ''; // Split nilai menjadi bagian integer dan desimal (jika ada) const parts = value.toString().split('.'); const integerPart = parts[0]; const decimalPart = parts.length > 1 ? parts[1].substring(0, 3) : ''; // Format bagian integer dengan separator titik ribuan const formattedInteger = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, '.'); // Gabungkan kembali dengan bagian desimal (jika ada) return decimalPart ? `${formattedInteger},${decimalPart}` : formattedInteger; }; window.parseNumberInput = function(value) { if (value === undefined || value === null) return ''; // Validasi input: hanya menerima angka, titik, dan koma // Periksa apakah ada lebih dari satu koma, jika ya, ambil yang pertama let cleanValue = value.toString(); // Jika ada koma, pastikan tidak ada lebih dari 3 digit setelahnya if (cleanValue.includes(',')) { const parts = cleanValue.split(','); // Bagian integer (sebelum koma) const integerPart = parts[0].replace(/\./g, ''); // Bagian desimal (setelah koma), maksimal 3 digit const decimalPart = parts[1].substring(0, 3); // Gabungkan kembali dengan titik untuk JavaScript cleanValue = integerPart + '.' + decimalPart; } else { // Jika tidak ada koma, cukup hapus semua titik cleanValue = cleanValue.replace(/\./g, ''); } return cleanValue; };