رفتن به محتوای اصلی

عدد، تاریخ و پول در رابط فارسی؛ راهنمای کامل

ارقام فارسی یا لاتین؟ جداکننده‌ی هزارگان چیست؟ تاریخ شمسی را چطور نمایش دهیم و قیمت را تومان بنویسیم یا ریال؟ همه‌ی قاعده‌ها با نمونه و کد.

کاور مقاله: عدد، تاریخ و پول در رابط فارسی

عددها بیشتر از هر چیز دیگری در رابط فارسی خراب می‌شوند: قیمتی با ارقام لاتین وسط متن فارسی، تاریخ میلادی در محصولی که کاربرانش شمسی فکر می‌کنند، یا «۲۵۰۰۰۰۰» که معلوم نیست دو و نیم میلیون است یا بیست و پنج میلیون.

این راهنما همه‌ی قاعده‌ها را یک‌جا آورده، همراه با کدی که برای پیاده‌سازی‌شان لازم است.

ارقام

در متن فارسی، ارقام فارسی: ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹. ارقام لاتین فقط کنار کلمه‌ی لاتین («iPhone 16») و در کد.

یک نکته‌ی فنی مهم: نمایش فارسی، ذخیره لاتین. در دیتابیس ارقام لاتین نگه دارید و فقط موقع نمایش تبدیل کنید. ورودی‌ها هم باید هر سه نوع رقم را بپذیرند، چون کاربران ارقام فارسی، عربی (٠١٢) و لاتین را تایپ یا کپی می‌کنند.

جداکننده‌ها

درستنادرست
هزارگان۱٬۲۵۰٬۰۰۰۱,۲۵۰,۰۰۰
اعشار۲٫۵۲.۵
درصد۲۵٪%25
بازه۱۰ تا ۲۰۱۰-۲۰

خوشبختانه لازم نیست این‌ها را دستی بنویسید. Intl.NumberFormat مرورگر همه را درست انجام می‌دهد:

new Intl.NumberFormat("fa-IR").format(1250000)   // "۱٬۲۵۰٬۰۰۰"
new Intl.NumberFormat("fa-IR").format(2.5)       // "۲٫۵"
جدول قاعده‌های ارقام و جداکننده‌ها در رابط فارسی
جداکننده‌ی فارسی هزارگان «٬» است، نه ویرگول

پول

  • یک واحد برای کل محصول: تومان یا ریال، و همیشه نوشته‌شده. «۲۵۰٬۰۰۰» بدون واحد ابهام دارد.
  • عدد بزرگ را کوتاه کنید: «۱٫۲ میلیون تومان» خواناتر از «۱٬۲۰۰٬۰۰۰ تومان» در جاهایی که دقت کامل لازم نیست.
  • مبلغ به حروف در تایید پرداخت: «یک میلیون و دویست هزار تومان» زیر فیلد مبلغ، جلوی صفر اضافه یا کم را می‌گیرد.
  • ورودی قیمت: هر نوع رقم را بپذیرد، جداکننده‌ها را خودش بگذارد و مکان‌نما را جابه‌جا نکند.

تاریخ

پیش‌فرض، شمسی. برای نمایش لازم نیست هیچ کتابخانه‌ای نصب کنید:

new Intl.DateTimeFormat("fa-IR-u-ca-persian", { dateStyle: "long" }).format(new Date())
// "۱۸ آبان ۱۴۰۵"
  • در جمله: «۱۸ آبان ۱۴۰۵».
  • در جدول و ستون باریک: «۱۴۰۵/۰۸/۱۸».
  • رویدادهای تازه: زمان نسبی، «۵ دقیقه پیش»، با تاریخ کامل در راهنمای کوچکی که با نگه‌داشتن ماوس دیده شود.
  • ساعت: «ساعت ۱۴:۳۰».

برای انتخابگر تاریخ کار بیشتری لازم است: تبدیل شمسی و میلادی، شنبه به‌عنوان اول هفته، جمعه تعطیل و تعطیلی‌های رسمی. جزئیاتش را در راهنمای تقویم شمسی در وب نوشته‌ام.

نمایش تاریخ شمسی در جمله، جدول و زمان نسبی
یک تاریخ، سه شکل نمایش: بسته به جایی که می‌نشیند

شماره‌های خاص

شماره‌ی کارت، شبا، موبایل و کد پستی چپ‌به‌راست نوشته می‌شوند تا گروه‌بندی‌شان درست بماند، ولی در رابط فارسی ارقامشان فارسی است. جهت و شکل رقم دو تصمیم جدا هستند. این شماره‌ها را در عنصری با unicode-bidi: isolate بگذارید تا در جمله‌ی فارسی جابه‌جا نشوند.

عکس سپنتا پویا
نویسنده

طراح محصول و سازنده‌ی دیزاین‌سیستم کاشی. سایت‌های زیادی را با هوش مصنوعی ساخته‌ام و چند سال اخیر روی ایجنتیک کردن فرایندهای هوش مصنوعی کار کرده‌ام. اسکیل‌های این سایت همان‌هایی‌اند که خودم هر روز با آن‌ها کار می‌کنم.

بیشتر درباره‌ی من

چیزی که خواندید را همین امروز به دستیارتان بدهید

همه‌ی این اسکیل‌ها با لایسنس دائمی، به‌روزرسانی رایگان برای همیشه و راهنمای نصب برای همه‌ی ابزارها.

تایید شده توسط سپنتا پویا
محتوا · v1.0.0

یوایکس رایتر فارسی

متن رابط سایت و اپ شما را بازنویسی می‌کند یا از صفر می‌نویسد: دکمه، خطا، حالت خالی، اعلان، لحن برند و درست‌نویسی.

Claude CodeClaude.aiCodexCursorGemini CLI
۵۹۰٬۰۰۰ تومان۸۹۰٬۰۰۰
تایید شده توسط سپنتا پویا
دیزاین‌سیستم · v1.0.0

ساخت و توسعه‌ی دیزاین‌سیستم فارسی

تجربه‌ی ۲۱۵ کامیت ساخت کاشی در یک اسکیل: از توکن و RTL تا داده‌های ایرانی، دسترس‌پذیری، تست تصویری و انتشار نسخه.

Claude CodeClaude.aiCodexCursorGemini CLI
۱٬۴۹۰٬۰۰۰ تومان۲٬۲۹۰٬۰۰۰