const formatAmount = (val) => {
val = String(val).replace(/[^0-9.]/g, '');
if (!/[\d.]/.test(val)) return '';
if (val > 999999.99) return '999999.99';
const [integer = '', decimal = ''] = (val + '.').split('.');
const intPart = integer.slice(0, 6);
const decPart = decimal.slice(0, 2);
let result = decPart ? `${intPart}.${decPart}` : intPart;
if (result.startsWith('.')) result = '0' + result;
const num = parseFloat(result);
if (isNaN(num)) return '';
if (num < 0.01) return '0.01';
if (num > 999999.99) return '999999.99';
return result;
};