انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: تبدیل رشته به عدد  (دفعات بازدید: 2092 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین asedmaloch

  • Newbie
  • *
  • ارسال: 7
  • جنسیت : پسر
تبدیل رشته به عدد
« : 06 دی 1391، 03:32 ب‌ظ »
درود یک سوال
توی اسکریپت نویسی چه جوری میشه از یک عدد اینتیجر استفاده کرد ؟ مگه اینجوری نیست که همه متغیر ها رو استرینگ میشناسه به صورت پیش فرض
البته یه جا تو همین سایت دیدم یه کانتر رو اینجوری نوشته اما نفهمیدم کارکردش چه جوریه :
var=$(($var+1))سپاس
« آخرین ویرایش: 06 دی 1391، 03:38 ب‌ظ توسط asedmaloch »

آفلاین aliva

  • Sr. Member
  • *
  • ارسال: 363
  • جنسیت : پسر
    • http://vakilzade.ir
پاسخ : تبدیل رشته به عدد
« پاسخ #1 : 07 دی 1391، 08:01 ب‌ظ »
لازم نیست کاری بکنید. خودش تبدیل می‌کنه

a='12'

echo $a+10 | bc

# or
echo $(($a+10 ))

آفلاین mahrooz

  • Newbie
  • *
  • ارسال: 14
پاسخ : تبدیل رشته به عدد
« پاسخ #2 : 09 دی 1391، 09:30 ق‌ظ »
درود یک سوال
توی اسکریپت نویسی چه جوری میشه از یک عدد اینتیجر استفاده کرد ؟ مگه اینجوری نیست که همه متغیر ها رو استرینگ میشناسه به صورت پیش فرض
البته یه جا تو همین سایت دیدم یه کانتر رو اینجوری نوشته اما نفهمیدم کارکردش چه جوریه :
var=$(($var+1))سپاس
سلام همونطور که شما نوشته اید به طور پیشفرض با اعداد به عنوان رشته رفتار می شود وهمانطور که aliva نوشته اگر  عبارت را به برنامه خارجی مثل bc که فقط با محاسبات سروکار دارد بفرستید به عنوان اعداد در نظر گرفته میشن  در اصل در هر دو موردی که aliva اشاره کرده شل را مجبور می کنی که حساب کنه.
اماجواب شما : برای اینکه به عنوان عدد در نظر گرفته بشن می تونی از دستور let هم استفاده کنی که در این صورت در طرف دوم اگر فاصله قرار بدی حتما باید از علامت نقل قول هم استفاده کنی. اما این دوتا پرانتزها که استفاده شده بهترین حالت هستند و هرچی که داخل اونا باشه عددی در نظر گرفته میشه تو بش حتی اون علامت دلار جلوی var هم توی پرانتزها لازم نیست حالا به کد زیر نگاه کن
a='12'
echo $a+10
12+10
let a=a+10
echo $a
22
echo ((a+10))
22
نمی دونم تونستم مطلب را اونطور که لازمه روشن کنم یا نه! به هر حال داخل اون جفت پرانتزها گفتی نمی دونی چه جوری باید بگم که محیط داخل اونها محاسبه ای میشه علامت دلار داخل پرانتز به معنی اینه که مقدار var قرار داده بشه و علامت دلار جلوی پرانتزها هم برای جایگزینی نتیجه داخل پرانتزها هستش echo هم که می دونی دیگه
راستی چرا اینتجر وقتی می تونی بگی عدد صحیح یا چرا استرینگ وقتی می تونی بگی رشته یا حتی string وچرا نمی گی شماشگر یا counter و می گی کانتر؟!!
« آخرین ویرایش: 09 دی 1391، 09:44 ق‌ظ توسط mahrooz »

آفلاین asedmaloch

  • Newbie
  • *
  • ارسال: 7
  • جنسیت : پسر
پاسخ : تبدیل رشته به عدد
« پاسخ #3 : 09 دی 1391، 12:31 ب‌ظ »
درود فراوان
این دستور اجازه بده ( let  ;D ) خیلی خوب بود
الان تازه متوجه دو تا پرانتزه شدم ، اینطوریه که دو تا پرانتز تبدیل به عدد صحیح میکنه
درمورد استفاده از واژه های فارسی موافقما اما وقتی خودم یه جا بخونم عدد صحیح اول تو ذهنم میگم طرف منظورش اینتیجره بعد ادامه متن رو می خونم ، برای اینکه ذهن کد نویسی من حداقل با اینتیجر آشنا تره تا عدد صحیح ولی شاید درست تر این باشه که ادم فارسیش و بگه ، زین پس تلاش میکنم  ;D
سپاس برای پاسخ گویی
سپاس برای تذکر  ;)