کتابخانه‌ی استاندارد · پایه

تبدیل conv

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

واردسازی تبدیل
در این صفحه
  1. روال‌ها

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

روال‌های تجزیه رقم‌های فارسی (۰۱۲۳۴۵۶۷۸۹) و عربی (٠١٢٣٤٥٦٧٨٩) را هم می‌فهمند، پس عددی که کاربر فارسی‌زبان تایپ می‌کند بی‌دردسر خوانده می‌شود. این روال‌ها خطا نمی‌دهند: از اول رشته تا جایی که عدد معنا دارد می‌خوانند و بقیه را کنار می‌گذارند، و اگر هیچ رقمی پیدا نکنند صفر برمی‌گردانند.

روال‌ها

قالب عدد بی علامت FormatUint

روال قالب عدد بی علامت(x: طبیعی۶۴): رشته
یک عدد بدون علامت ۶۴ بیتی را به متن تبدیل می‌کند.
conv-FormatInt.salam
واردسازی تبدیل

روال ریشه:
    سرچاپ تبدیل.قالب عدد(-۱۲۰۰)
    سرچاپ تبدیل.قالب عدد بی علامت(۱۸۴۴۶۷۴۴۰۷۳۷۰۹۵۵۱۶۱۵ برگردان طبیعی۶۴)
    سرچاپ تبدیل.قالب منطقی(نادرست)
    سرچاپ تبدیل.قالب شانزده(۴۰۹۶ برگردان طبیعی۶۴)
پایان
خروجی-1200 18446744073709551615 false 1000

قالب عدد FormatInt

روال قالب عدد(n: صحیح۶۴): رشته
یک عدد صحیح ۶۴ بیتی را به متن تبدیل می‌کند و برای عددهای منفی علامت منفی می‌گذارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-FormatInt.salam

قالب منطقی FormatBool

روال قالب منطقی(b: منطقی): رشته
درست را به "true" و نادرست را به "false" تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-FormatInt.salam

تجزیه منطقی ParseBool

روال تجزیه منطقی(s: رشته): منطقی
رشته را به مقدار منطقی تبدیل می‌کند. "true"، "1" و "yes" (با فاصله‌ی اضافه در دو سو) درست به حساب می‌آیند و هر چیز دیگری نادرست.
conv-ParseInt.salam
واردسازی تبدیل

روال ریشه:
    سرچاپ تبدیل.تجزیه عدد("  -۲۷ ")، تبدیل.تجزیه عدد("-27")، تبدیل.تجزیه عدد("12abc")، تبدیل.تجزیه عدد("سلام")
    سرچاپ تبدیل.رشته به عدد("+15")
    سرچاپ تبدیل.تجزیه شانزده("0xff")، تبدیل.تجزیه شانزده("1A")
    سرچاپ تبدیل.تجزیه منطقی("yes")، تبدیل.تجزیه منطقی(" true ")، تبدیل.تجزیه منطقی("نه")
پایان
خروجی-27 -27 12 0 15 255 26 true true false

تجزیه عدد ParseInt

روال تجزیه عدد(s: رشته): صحیح۶۴
عدد صحیح را از ابتدای رشته می‌خواند. فاصله‌های اول نادیده گرفته می‌شوند و علامت + یا - پذیرفته است. رقم فارسی، عربی و انگلیسی همه قبول‌اند و خواندن با اولین نویسه‌ی غیررقمی تمام می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseInt.salam

رشته به عدد Atoi

روال رشته به عدد(s: رشته): صحیح
همان تجزیه عدد است، ولی نتیجه را به صحیح (۳۲ بیتی) برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseInt.salam

تجزیه اعشار ParseFloat

روال تجزیه اعشار(s: رشته): اعشار۶۴
عدد اعشاری را از رشته می‌خواند. نمادهای علمی مثل 2.5e3 و رقم‌های فارسی با ممیز فارسی (۳٫۷۵) هم پذیرفته‌اند.
conv-ParseFloat.salam
واردسازی تبدیل

روال ریشه:
    ع := تبدیل.تجزیه اعشار("۳٫۷۵")
    سرچاپ ع * ۲
    سرچاپ تبدیل.قالب اعشار(۰.۱ + ۰.۲)
    سرچاپ تبدیل.قالب اعشار کوتاه(۰.۱ + ۰.۲)
    سرچاپ تبدیل.قالب اعشار با دقت(۲.۰ / ۳.۰، ۳)
    ن := تبدیل.تجزیه اعشار("nan")
    سرچاپ تبدیل.نامعتبر است(ن)، تبدیل.نامعتبر است(ع)
پایان
خروجی7.5 0.30000000000000004 0.3 0.667 true false

نامعتبر است IsNaNF

روال نامعتبر است(x: اعشار۶۴): منطقی
اگر عدد «ناعدد» (NaN) باشد، درست برمی‌گرداند؛ مثلاً حاصل تجزیه‌ی "nan". هیچ مقایسه‌ای با == این حالت را تشخیص نمی‌دهد، چون NaN با خودش هم برابر نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseFloat.salam

قالب اعشار FormatFloat

روال قالب اعشار(x: اعشار۶۴): رشته
عدد اعشاری را با همه‌ی رقم‌های لازم به متن تبدیل می‌کند، طوری که با خواندن دوباره دقیقاً همان عدد به دست آید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseFloat.salam

قالب اعشار کوتاه FormatFloatShort

روال قالب اعشار کوتاه(x: اعشار۶۴): رشته
عدد اعشاری را به کوتاه‌ترین شکل خوانا تبدیل می‌کند؛ مثلاً ۰.۱ + ۰.۲ را 0.3 می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseFloat.salam

قالب اعشار با دقت FormatFloatPrec

روال قالب اعشار با دقت(x: اعشار۶۴، prec: صحیح): رشته
عدد اعشاری را با تعداد رقم اعشار دلخواه و گرد شده به متن تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseFloat.salam

قالب شانزده FormatHex

روال قالب شانزده(x: طبیعی۶۴): رشته
عدد را در مبنای شانزده و با حروف کوچک می‌نویسد، بدون پیشوند 0x.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-FormatInt.salam

تجزیه شانزده ParseHex

روال تجزیه شانزده(s: رشته): صحیح۶۴
عدد مبنای شانزده را می‌خواند. پیشوند 0x اختیاری است و حروف کوچک و بزرگ هر دو قبول‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: conv-ParseInt.salam