Search categories, packages and repositories

persian_number_utility cover
Package detailsv1.1.6

persian_number_utility

A Flutter Package for convert number to English or Persian(Farsi) letter and convert Miladi to Persian Date(Jalali/Shamsi date) and digits validator

AndroidiOSWebmacOSWindowsLinux
30-day downloads
1.3K
Likes
316
Pub points
145

Install package

flutter pub add persian_number_utility

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package designed to facilitate localization and internationalization tasks for Persian (Farsi) users. It enables conversion between numeric digits and their Persian letter equivalents, supports translation between Miladi (Gregorian) and Jalali (Shamsi) calendar systems, and includes digit validation utilities. Ideal for apps targeting Iranian or Persian-speaking audiences, it ensures accurate date formatting and number representation in Farsi. The package is compatible across all major platforms including Android, iOS, Web, macOS, Windows, and Linux.

Use cases

  • Converting numbers to Persian letters
  • Translating Miladi dates to Jalali
  • Validating Persian digits
  • Displaying dates in Jalali calendar
  • Localizing number input fields
  • Supporting Farsi language apps

Key features

  • Converts numbers to Persian text
  • Converts Miladi to Jalali dates
  • Digit validation for Persian input
  • Cross-platform compatibility
  • Simple API integration
  • Supports both English and Persian number formats

Suitable for

  • Apps targeting Persian-speaking users
  • Internationalized applications with Farsi support
  • Calendar-based applications in Iran
  • Form inputs requiring Persian digit validation
  • Developers building multilingual Flutter apps

Considerations

  • Requires manual handling of date formatting
  • Limited to Persian/English number and date conversion
  • May need additional localization setup
  • Not optimized for performance-heavy operations
  • Depends on correct locale configuration

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

A Flutter Package for convert number to English or Persian (Farsi) letter and convert Miladi to Persian Date(Jalali/Shamsi date) and digits validator

A Flutter Package for convert number to English or Persian (Farsi) letter and allow you to separate an integer by comma (or other) for every three digits , extract number from string and convert Miladi date to Shamsi date, Afghan month, Checking the validity of the Iranian National Code and bank number and phone number, convert price to Rial or Toman

پکیجی برای تبدیل اعداد به حروف فارسی یا انگلیسی ، همچنین برای جدا سازی سه رقمی ارقام ، جداسازی ارقام از متن ، تبدیل تاریخ شمسی به میلادی، تبدیل به ماه های افغانستانی، بررسی اعتبار کد ملی ، شماره کارت بانکی و شماره موبایل ایرانیان ، تبدیل قیمت به تومان و ریال

See the Dart packages.

Screenshot

امکانات پکیج

طریقه استفاده - Usage

Add the following line to the pubspec.yaml file:

خط زیر را به فایل pubspec.yaml اضافه کنید:

dependencies:

persian_number_utility: ^1.1.4

خط زیر رو به ایمپورت های صفحه خود اضافه کنید - Add the following line to your page imports


import  'package:persian_number_utility/persian_number_utility.dart';

تبدیل عدد به حروف فارسی
Text("100092".toWord()),//صد هزار و نود و دو
تبدیل عدد به حروف انگلیسی
Text("100092".toWord(lang: NumStrLanguage.English)),//one hundred thousand ninety two
تبدیل حروف به عدد
Text('صد و یک هزار و سیصد و نود و دو'.toNumber().toString()), // 101392
جدا سازی سه رقمی ارقام
Text("100092".seRagham()),//100,092
Text("100092".seRagham(separator: "-")),//100-092
جدا سازی چهار رقمی ارقام
Text("6037991123456789".charRagham()), //6037-9911-2345-6789
Text("6037-9911-2345-6789".charRagham(separator: " ")), //6037 9911 2345 6789
جدا سازی اعداد از رشته
Text("123456+.abc".extractNumber()),//۱۲۳۴۵۶
Text("number123456اب ج -".extractNumber(toDigit: NumStrLanguage.English)),//123456
تبدیل اعداد از انگلیسی به فارسی و بالعکس
Text("123456789".toPersianDigit()),//۱۲۳۴۵۶۷۸۹
Text("۱۲۳۴۵۶۷۸۹".toEnglishDigit()),//123456789
تشخیص عددی بودن متن
Text("100092".isNumeric().toString()),//true
Text("100092aaa".isNumeric().toString()),//false
تبدیل تاریخ میلادی به شمسی
Text(DateTime.now().toPersianDate()),//۱۳۹۹/۰۷/۰۶
Text(DateTime.now().toPersianDate(twoDigits: false)),//۱۳۹۹/۷/۶
Text(DateTime.now().toPersianDate(twoDigits: true,showTime: true,timeSeprator: ' - ')),//۱۳۹۹/۰۷/۰۶ - ۰۷:۳۹

//اگه نیاز بود که زمان در سمت راست یا چپ متن قرار بگیرد
Text(DateTime.now().toPersianDate(twoDigits: true,showTime: true,changeDirectionShowTimw: false)),//۰۷:۳۹ ۱۳۹۹/۰۷/۰۶ 
تبدیل تاریخ میلادی به تاریخ شمسی از متن
Text("2020-10-07T07:47:03.233Z".toPersinaDate()),//۱۳۹۹/۷/۶
تبدیل تاریخ میلادی به تاریخ متنی شمسی
Text(DateTime.now().toPersianDateStr(strDay: true,strMonth: true)),// شانزده مهر  ۱۳۹۹
Text(DateTime.now().toPersianDateStr(showDayStr: true)),//چهارشنبه ۱۶ مهر  ۱۳۹۹
Text(DateTime.now().toPersianDateStr(strDay: true, strMonth: true, useAfghaniMonthName: true,)),//شانزده حوت ۱۳۹۹
اعتبارسنجی کد ملی ایرانیان
Text('1234567890'.isValidIranianNationalCode().toString()), // false
Text('2220042944'.isValidIranianNationalCode().toString()), // true
اعتبار سنجی شماره موبایل ایرانیان
Text('01112223344'.isValidIranianMobileNumber().toString()), // false
Text('09353391994'.isValidIranianMobileNumber().toString()), // true
Text('+989353391994'.isValidIranianMobileNumber().toString()), // true
Text('00989353391994'.isValidIranianMobileNumber().toString()), // true
نمایش خلاصه وار تاریخ نسبت به تاریخ فعلی
//Text(تاریخ و زمان مورد نظر شما .getDifferenceDateString().getDifferenceDateString())
Text(DateTime.now().add(Duration(seconds: -1)).getDifferenceDateString()),//لحظاتی پیش
Text(DateTime.now().add(Duration(seconds: -40)).getDifferenceDateString(aFewSecondsAgoText: "همین الان")),//همین الان
Text(DateTime.now().add(Duration(days: -6)).getDifferenceDateString()),//چند روز پیش
Text(DateTime.now().add(Duration(days: -1)).getDifferenceDateString()),//دیروز
Text(DateTime.now().add(Duration(days: -365)).getDifferenceDateString()),//سال پیش
Text(DateTime.now().add(Duration(days: -365)).getDifferenceDateString(lastYearText: "پارسال")),//پارسال
Text(DateTime.now().add(Duration(days: -78)).getDifferenceDateString())//چند ماه پیش
تبدیل به تومان و ریال
Text('1200'.beToman()), // 12000
Text('1200'.beRial()), // 120
اعتبار سنجی کارت بانکی
Text('1232234543212345'.isValidBankCardNumber().toString()), // false
تشخیص نام بانک از شماره کارت بانکی
Text('58921011...'.getBankNameFromCardNumber()), // بانک سپه
Text('60379911...'.getBankNameFromCardNumber()), // بانک ملی
Text('00000000...'.getBankNameFromCardNumber()), // -
اعتبار سنجی شماره شبا بانکی
Text('IR111111111111111111111111'.isValidBankShebaNumber().toString()), // false
تبدیل حروف غیر استاندارد به حروف استاندارد الفبای فارسی
Text('ئ ي ك ﮑ ﮐ ﮏ'.fixPersianChars()), //ی ی ک ک ک ک

اعتبارسنجی کد پستی ایرانیان
Text('5955846418'.isValidIranianPostalCode().toString()), // true
تشخیص وجود عدد در رشته
Text('abcdefghj'.isContainDigits().toString()), // false
Text('abcdefghj3'.isContainDigits().toString()), // true

حمایت از ما

⭐️ در پایان اگه خوشتون اومده بود و کارتون رو راه انداخت بهش ستاره بدین و لایکش کنین 🙏🙏

Github link

pub link - The official package repository for Dart and Flutter apps

Categories

Source repository

Projects using this package