নেট মধ্যে Math.Floor()
এবং পার্থক্য কি Math.Truncate()
?
নেট মধ্যে Math.Floor()
এবং পার্থক্য কি Math.Truncate()
?
উত্তর:
Math.Floor
রাউন্ড ডাউন, Math.Ceiling
রাউন্ড আপ এবং Math.Truncate
শূন্যের দিকে রাউন্ডগুলি। সুতরাং, Math.Truncate
ভালো হয় Math.Floor
ইতিবাচক সংখ্যার জন্য এবং অন্য কোনো Math.Ceiling
ঋণাত্মক সংখ্যা জন্য। রেফারেন্স এখানে ।
সম্পূর্ণতার Math.Round
জন্য, নিকটতম পূর্ণসংখ্যার বৃত্তাকার। সংখ্যাটি যদি দুটি পূর্ণসংখ্যার মাঝামাঝি মাঝখানে হয় তবে এটি একটির সমান দিকে ঘুরবে। রেফারেন্স।
আরও দেখুন: প্যাক্স ডায়াবলোর উত্তর । অত্যন্ত বাঞ্ছনীয়!
(int)myDouble
থেকে আলাদা হয় (int)Math.Truncate(myDouble)
?
এমএসডিএন বর্ণনার জন্য এই লিঙ্কগুলি অনুসরণ করুন:
Math.Floor
, যা নেতিবাচক অনন্তের দিকে গোল করে।Math.Ceiling
, যা ইতিবাচক অনন্তের দিকে ঘুরছে।Math.Truncate
, যা গোল অথবা উপরে শূন্যের দিকে।Math.Round
, যেটি নিকটতম পূর্ণসংখ্যা বা দশমিক জায়গাগুলির নির্দিষ্ট সংখ্যায় গোল হয়। আপনি যদি আচরণটি নির্দিষ্ট করে দিতে পারেন তবে এটি দুটি সম্ভাবনার মধ্যে একেবারে সামঞ্জস্যপূর্ণ, যেমন রাউন্ডিং যাতে চূড়ান্ত অঙ্কটি সমান হয় (" Round(2.5,MidpointRounding.ToEven)
" 2 হয়) বা যাতে এটি শূন্য থেকে দূরে (" Round(2.5,MidpointRounding.AwayFromZero)
" হয়ে 3) হয়।নিম্নলিখিত চিত্র এবং সারণি সাহায্য করতে পারে:
-3 -2 -1 0 1 2 3
+--|------+---------+----|----+--|------+----|----+-------|-+
a b c d e
a=-2.7 b=-0.5 c=0.3 d=1.5 e=2.8
====== ====== ===== ===== =====
Floor -3 -1 0 1 2
Ceiling -2 0 1 2 3
Truncate -2 0 0 1 2
Round (ToEven) -3 0 0 2 3
Round (AwayFromZero) -3 -1 0 2 3
দ্রষ্টব্য যে Round
এটি মনে হয় তার থেকে অনেক বেশি শক্তিশালী, কেবলমাত্র এটি নির্দিষ্ট দশমিক জায়গার সাথে গোল করতে পারে। অন্য সবসময় সর্বদা শূন্য দশমিক to উদাহরণ স্বরূপ:
n = 3.145;
a = System.Math.Round (n, 2, MidpointRounding.ToEven); // 3.14
b = System.Math.Round (n, 2, MidpointRounding.AwayFromZero); // 3.15
অন্যান্য ক্রিয়াকলাপগুলির সাথে, আপনাকে একই প্রভাব অর্জন করতে গুণ / বিভাজন কৌশল ব্যবহার করতে হবে:
c = System.Math.Truncate (n * 100) / 100; // 3.14
d = System.Math.Ceiling (n * 100) / 100; // 3.15
even
চূড়ান্ত অঙ্কের সম্পত্তি হিসাবে ভাবেন, অর্থ হিসাবে পুরো সংখ্যাটি অবশ্যই দুটি এর একাধিক হতে হবে না। যাইহোক, দুঃখিত আপনার কাছে ফিরে আসতে এত দিন লেগেছে, আশা করি আপনি আমার প্রতিক্রিয়ার জন্য অপেক্ষা করতে বসেছেন না :-)
Math.Floor()
নেতিবাচক অসীমের দিকে বৃত্তাকার
Math.Truncate
গোল বা উপরে শূন্য দিকে।
উদাহরণ স্বরূপ:
Math.Floor(-3.4) = -4
Math.Truncate(-3.4) = -3
যখন
Math.Floor(3.4) = 3
Math.Truncate(3.4) = 3
কিছু উদাহরণ:
Round(1.5) = 2
Round(2.5) = 2
Round(1.5, MidpointRounding.AwayFromZero) = 2
Round(2.5, MidpointRounding.AwayFromZero) = 3
Round(1.55, 1) = 1.6
Round(1.65, 1) = 1.6
Round(1.55, 1, MidpointRounding.AwayFromZero) = 1.6
Round(1.65, 1, MidpointRounding.AwayFromZero) = 1.7
Truncate(2.10) = 2
Truncate(2.00) = 2
Truncate(1.90) = 1
Truncate(1.80) = 1
Math.floor
বাম দিকে
Math.ceil
স্লাইইয়াইড ...
Math.truncate
ডানদিকে স্লাইইয়াইড ... ক্রিমিয়াস ক্রুওস (মেঝে / সিলটি সর্বদা 0 এর দিকে থাকে)
Math.round
চা চা, রিয়েল স্মুথ ... (নিকটতম দিকে যান)
চল কাজে যাই! (⌐ □: _ □)
বাম দিকে ... Math.floor
এখনই আবার নিয়ে যাও ... সব এবার ... --
দুটি হপ ...-=2
সবাই হাততালি দেয় ✋✋
আপনি কিভাবে কম যেতে পারেন? আপনি কি নিচে যেতে পারেন? সব পথে floor
?
if (this == "wrong")
return "i don't wanna be right";
Math.truncate(x)
হিসাবে একই int(x)
।
ইতিবাচক বা নেতিবাচক ভগ্নাংশটি সরিয়ে আপনি সর্বদা 0 এর দিকে যাচ্ছেন।
তারা ইতিবাচক সংখ্যার সাথে কার্যত সমান। পার্থক্যটি কীভাবে তারা নেতিবাচক সংখ্যাগুলি পরিচালনা করে।
উদাহরণ স্বরূপ:
Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2
Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2
এমএসডিএন লিঙ্কগুলি: - ম্যাথ.ফ্লোয়ার পদ্ধতি - ম্যাথ. ট্র্যাঙ্কেট পদ্ধতি
PS গণিত থেকে সাবধান থাকুন। গোল আপনি এটি যা আশা করেন তা নাও হতে পারে।
"স্ট্যান্ডার্ড" রাউন্ডিং ফলাফলটি পেতে:
float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5
এটি ব্যবহার করে দেখুন, উদাহরণগুলি:
ম্যাথ.ফ্লোয়ার () বনাম ম্যাথ. ট্রান্সকেট ()
Math.Floor(2.56) = 2
Math.Floor(3.22) = 3
Math.Floor(-2.56) = -3
Math.Floor(-3.26) = -4
Math.Truncate(2.56) = 2
Math.Truncate(2.00) = 2
Math.Truncate(1.20) = 1
Math.Truncate(-3.26) = -3
Math.Truncate(-3.96) = -3
এছাড়াও Math.Round ()
Math.Round(1.6) = 2
Math.Round(-8.56) = -9
Math.Round(8.16) = 8
Math.Round(8.50) = 8
Math.Round(8.51) = 9
math.floor()
নির্দিষ্ট সংখ্যার চেয়ে কম বা তার সমান বৃহত্তম পূর্ণসংখ্যা ফেরত দেয় s MSDN system.math.floor
math.truncate()
একটি সংখ্যার অবিচ্ছেদ্য অংশ গণনা করে। MSDN system.math.truncate
Math.Floor()
আইইইই স্ট্যান্ডার্ড 754 বিভাগ 4 এর সম্মতিতে "নেতিবাচক অনন্তের দিকে" রাউন্ডগুলি ।
Math.Truncate()
রাউন্ডগুলি "শূন্যের দিকে নিকটতম পূর্ণসংখ্যায়"।
Math.Floor()
: সুনির্দিষ্ট ডাবল-স্পষ্টতা ভাসমান-পয়েন্ট সংখ্যার চেয়ে কম বা তার সমান বৃহত্তম পূর্ণসংখ্যা প্রদান করে।
Math.Round()
: নিকটতম পূর্ণসংখ্যার বা নির্দিষ্ট ভগ্নাংশের নির্দিষ্ট সংখ্যার মানকে গোল করে।
Floor()
এবং Truncate()
না Floor()
এবং এর মধ্যে পার্থক্য সম্পর্কে জিজ্ঞাসা করেছিল Round()
।