مشکل سطر 3 و 4 چیه که کامپایل نمیشه؟
string s = ""; // null
float f = (float )(6 / 5); // 1.2
s = f.ToString; // "1.2"
s = (string) (float.Parse(s) + 1); //"2.2"
مشکل سطر 3 و 4 چیه که کامپایل نمیشه؟
string s = ""; // null
float f = (float )(6 / 5); // 1.2
s = f.ToString; // "1.2"
s = (string) (float.Parse(s) + 1); //"2.2"
سلام دوست عزیز ، شما در خط 3 برای متود To String پارانتز هاشو نذاشتی و در خط 4 بهتره از متود
To String استفاده کنید ، کد اصلاح شده :
string s = ""; // null
float f = (float)(6 / 5); // 1.2
s = f.ToString(); // "1.2"
s = (float.Parse(s) + 1).ToString(); //"2.2"
موفق و پیروز باشید !!!
سلام دوست عزیز
string s = "";
float f =1.2f;
s = f.ToString();
s = (Convert.ToSingle(s) + 1).ToString();
موفق باشی
جناب salar_cpp_cs جواب شما عدد رو گرد میکنه لطفا تست کنید...
این قسمت رو توضیح می دی که چرا از Convert استفاده میکنی؟ چرا Parse نمیشه؟
s = (Convert.ToSingle(s) + 1).ToString();
چرا اخر عدد اعشاری باید suffix بذاریم؟ " 1.2f"
سلام
مشکل دستوری (عدم کامپایل) را جناب Salar گفتند ('شما در خط 3 برای متود To String پارانتز هاشو نذاشتی و در خط 4 بهتره از متود ').اما در برنامه یک اشتباه سهوی هم روی داده است.در خط
float f = (float)(6 / 5);
خروجی بر عکس چیزی که شما فکر می کنید باید 1.2 باشد ،خروجی 1.0 است!دلیل آن این است که ابتدا دو عدد 6 و 5 که هر دو صحیح هستند بر هم تقسیم صحیح شده و خارج قسمت آن یعنی 1 حاصل عبارت 6/5 خواهد بود.حالا این عدد 1 به شکل اعشاری در f ذخیره می شود.برای بدست آوردن جواب اعشاری 1.2 باید یکی از دو عبارت زیر را بنویسید:
float f = ((float)6 / 5);
float f = (6.0F / 5);
که در اولی قبل از تقسیم عدد 6 را به اعشاری تبدیل می کنید (حالا تقسیم یک عدد اعشاری بر عدد صحیح صورت می پذیرد) البته فرقی نمی کند که 6 یا 5 را به اعشاری تبدیل کنید ولی باید حتما یکی از اعداد را به اعشاری تبدیل کنید و در دومی هم رسما 6 را عدد اعشاری معرفی کرده اید (6.0ّF).
موفق باشید
سلام
نقل قول: چرا اخر عدد اعشاری باید suffix بذاریم؟ " 1.2f"
--------------------------------------------------------------
اگر suffix (f) رو نذاری کامپایلر به شما error میده دلیلش اینه که شما سغی میکنین که یک مقدار double رو در float ذخیره کنی
نقل قول :این قسمت رو توضیح می دی که چرا از Convert استفاده میکنی؟ چرا Parse نمیشه؟
کد:
s = (Convert.ToSingle(s) + 1).ToString();
متد parse هم میتونی استفاده کنی ، این متد string رو به number تبدیل میکنه
s = (float.Parse(s) + 1).ToString();
در متد convert دقیقا می تونی نوعت رو مشخص کنی ToSingle
ببخشید من وقتی میخوام مقدار یک تکس باکس که مقدارش مثلا" "2.34" هستش رو وقتی با دستور float.parse("2.34") تبدیل میکنم مقدار اون یک عدد میشه با 10 رقم اعشار یعنی میشه 2.300005498778
میشه لطفا منو راهنمایی کنید تا دقیقا همون عدد با دو رقم اعشار رو تو دیتابیش ذخیره کنم