باشه.
در این حالت، کاری که من انجام دادم این بود که گفتم اشکالی ندارد.
اما در خروجی هنوز از ویرگول به عنوان نقطه اعشاری استفاده می‌کند.
برمی‌گردیم به مشکلی که داشتیم، جایی که ورودی حالا با نقطه پذیرفته می‌شد، اما خروجی هنوز
از ویرگول استفاده می‌کرد
پس می‌گوید اگر خروجی شما از ویرگول استفاده می‌کند، می‌توانید از Console.WriteLine و culture info invariant culture
هم استفاده کنید.
Console.WriteLine این یعنی در داخل دستور ، باید این کار را برای هر عدد هنگام.
تبدیل آن به رشته انجام دهید
این ممکن است بسیار پیچیده به نظر برسد، اما بیایید یک بار از آن استفاده کنیم و ببینیم چه می‌شود.
بنابراین به کد خود بازمی‌گردم.
dot و to string culture info invariant culture اینجا از استفاده می‌کنم.
پس این متد to string چه کاری انجام می‌دهد؟
my number خب، ما این متغیر را داریم که از نوع double است.
و همان‌طور که دیدیم، double متدی به نام parse دارد.
پس بعد از نقطه می‌توانیم متدهای مختلفی استفاده کنیم.
double dot می‌توانم از استفاده کنم.
و می‌بینید که چندین گزینه مختلف برای این double وجود دارد.
برخی از آن‌ها متد هستند، برخی چیز دیگری.
اما می‌توانم از آن‌ها برای اصلاح چیزی که داخل پرانتز است استفاده کنم.
در این حالت، من می‌گویم عدد را به رشته تبدیل کن و هنگام انجام این کار، .
از استفاده کن، که اساساً یعنی از نقطه به جای invariant culture
ویرگول استفاده شود
این همان چیزی است که به طور پیش‌فرض در فرهنگ شما تنظیم شده است.
این ممکن است برای شما که در ایالات متحده هستید و می‌خواهید این کار را انجام دهید، مرتبط نباشد، اما
فقط برای آگاهی شما است.
اگر این کار را فقط برای عدد یک انجام دهم، اکنون می‌خواهم همین کار را برای سایر بخش‌های .
کدم انجام دهم
و من از کلید Enter استفاده کردم.
حالا از الحاق رشته‌ها استفاده می‌کنم، اما این کار را فقط برای وضوح یا خوانایی انجام می‌دهم.
می‌بینید که علامت + اضافه شده و دوباره $ برای رشته جدید آمده است.
پس دوباره قبل از پایان این بخش، .
رو می زنیم enter
و به خط بعدی می‌رود.
و برای اطمینان از اینکه همچنان یک دستور محسوب شود.
اگرچه دو خط به نظر می‌رسد، اما در واقع یک دستور و یک خط محسوب می‌شود.
به نوعی.
حالا همین کار را برای عدد دو و جمعم انجام می‌دهم.
اکنون دوباره با فرهنگ ثابت جدیدم اجرا می‌کنم.
بنابراین 15.3 و 13.9.
و نتیجه را می‌گیریم: 15.3 و 13.9 برابر 29.2 و چند صفر و سه است.
بیایید دوباره بررسی کنیم چرا این اتفاق می‌افتد.
هنگام جمع کردن 15.3 و 13.9، نتیجه 29.2 است.
چرا این اتفاق می‌افتد و چگونه می‌توان آن را اصلاح کرد؟
خب.
اساساً چیزی که می‌خواهم آموزش دهم این است که از دستیار موجود استفاده کنید.
ChatGPT 3.5 و البته می‌توانید از هم استفاده کنید.
این کار را حداقل برای مباحث پایه‌ای که الان استفاده می‌کنیم انجام می‌دهد.
رفتاری که مشاهده می‌کنید به نحوه نمایش اعداد اعشاری در .
حافظه کامپیوتر مربوط می‌شود
کامپیوترها اعداد اعشاری مانند در سی شارپ را به صورت باینری نمایش می‌دهند.
یعنی در قالب صفر و یک، که می‌تواند باعث مشکلات دقت برای برخی اعداد اعشاری شود.
نه همه اعداد اعشاری می‌توانند دقیقاً در قالب باینری نمایش داده شوند، که منجر به خطاهای کوچک گردشی می‌شود.
به همین دلیل است که 29.2 و چند صفر و سه را می‌بینید به جای 29.2.
برای رفع این مشکل، به ویژه هنگام کار با ماشین‌حساب‌های مالی یا وقتی می‌خواهید نتایج را به کاربران نمایش دهید،
می‌توانید اعداد را به تعداد مشخصی از ارقام گرد کنید.
C# متدهایی مانند math.round برای این منظور دارد.
می‌توانید تصمیم بگیرید چه تعداد ارقام برای برنامه شما مناسب است.
برای مثال می‌گوید: sum = math.round(sum, 2)
که جمع را تا دو رقم اعشار گرد می‌کند.
سپس کد آن را هم به من داد تا استفاده کنم.
پس بیایید از آن استفاده کنیم.
حالا جمع را داریم.
sum = math.round(sum)
و سپس مشخص می‌کنیم چند رقم اعشار می‌خواهیم داشته باشیم.
اینجا دو رقم.
حالا گرد شده تا دو رقم اعشار داریم.
sum به این معنی که هر چیزی که داخل بود، با مقدار جدید .
جایگزین می‌شود
وجود دارد. math کلاسی به نام
بعداً خواهیم دید کلاس‌ها چیستند و کلاس‌های خودمان را با متدهای خود می‌سازیم،
دارد round متدی به نام math کلاس که double را با تعداد مشخصی از ارقام اعشار گرد می‌کند.
یعنی تعداد ارقام اعشاری که شما وارد می‌کنید.
sum اینجا می‌گویم گرد شده تا دو رقم اعشار و این مقدار جدید را در .
ذخیره می کند
خب، دوباره امتحان می‌کنیم و از 15.3 و 13.9 استفاده می‌کنیم.
حالا نتیجه 29.2 است.
حالا ماشین‌حساب جمع ما تمام مشکلات را در مسیر حل می‌کند.
واقعاً خیلی جالب است.
اما واضح است که یک مشکل بزرگ هنوز باقی است: اگر به جای عدد،
رشته وارد کنیم، هنوز خطا می‌گیریم.
try، parse این چیزی است که فقط بعداً می‌توانیم با
و مدیریت خطا حل کنیم.
خب، پس این ویدیو تمام شد.
تبریک می‌گویم که تا اینجا پیش رفتید.
در ویدیوی بعدی می‌بینمت.