tafkeet method

String tafkeet({
  1. Language? lang,
  2. Currency? currency,
  3. String? currencyCode,
  4. String? prefix,
  5. String? suffix,
})

Convert string to words if it contains a valid number Returns the original string if it's not a valid number

Automatically converts Arabic-Indic numerals (٠١٢٣...) to Western numerals before conversion

lang The desired language (if not specified, uses default language) currency The currency (if not specified, uses default currency or no currency)

Example:

'123'.tafkeet(lang: Lang.ar); // Works with English numerals
'١٢٣'.tafkeet(lang: Lang.ar); // Works with Arabic numerals

Implementation

String tafkeet(
    {Language? lang,
    Currency? currency,
    String? currencyCode,
    String? prefix,
    String? suffix}) {
  // Convert Arabic numerals to English first
  final normalizedString = NumberUtils.replaceArabicNumber(this);
  final number = double.tryParse(normalizedString);
  if (number == null) {
    return this; // Return original string if not a valid number
  }
  return Tafkeet.convert(number,
      lang: lang,
      currency: currency,
      currencyCode: currencyCode,
      prefix: prefix,
      suffix: suffix);
}