/** * Converts Rial to Toman (divides by 10) */ export const convertRialToToman = (rialAmount: number): number => { return Math.round(rialAmount / 10); }; /** * Formats number with comma separators (e.g., 3,000,000) */ export const formatNumberWithCommas = (amount: number): string => { return amount.toLocaleString('fa-IR'); // for Persian digits // Or for English digits: return amount.toLocaleString('en-US'); }; /** * Main function: receives amount in Rial or Toman, returns formatted with comma separators and "Toman" label * * @param amount - input amount (in Rial or Toman) * @param inputIsRial - whether the input amount is in Rial (default: true) * @returns string - formatted amount with Toman label (e.g., "۳,۰۰۰,۰۰۰ تومان") */ export const formatPriceWithToman = ( amount: number, inputIsRial: boolean = true ): string => { // If amount is in Rial, convert to Toman first const tomanAmount = inputIsRial ? convertRialToToman(amount) : amount; // Add comma separators const formatted = formatNumberWithCommas(tomanAmount); // Return with Toman label return `${formatted} تومان`; }; /** * Simpler version: just take an amount in Toman and format it */ export const formatTomanPrice = (tomanAmount: number): string => { return `${formatNumberWithCommas(tomanAmount)} تومان`; };