আমি কীভাবে নিকটতম পূর্ণসংখ্যার মানগুলিকে গোল করতে পারি?
উদাহরণ স্বরূপ:
1.1 => 1
1.5 => 2
1.9 => 2
"ম্যাথ.সিলিং ()" আমাকে সাহায্য করছে না। কোন ধারনা?
আমি কীভাবে নিকটতম পূর্ণসংখ্যার মানগুলিকে গোল করতে পারি?
উদাহরণ স্বরূপ:
1.1 => 1
1.5 => 2
1.9 => 2
"ম্যাথ.সিলিং ()" আমাকে সাহায্য করছে না। কোন ধারনা?
উত্তর:
আরও জন্য সরকারী ডকুমেন্টেশন দেখুন। উদাহরণ স্বরূপ:
মূলত আপনি Math.Round
পদ্ধতিটি তিনটি পরামিতি দিন।
কোডের উদাহরণ:
var roundedA = Math.Round(1.1, 0); // Output: 1
var roundedB = Math.Round(1.5, 0, MidpointRounding.AwayFromZero); // Output: 2
var roundedC = Math.Round(1.9, 0); // Output: 2
var roundedD = Math.Round(2.5, 0); // Output: 2
var roundedE = Math.Round(2.5, 0, MidpointRounding.AwayFromZero); // Output: 3
var roundedF = Math.Round(3.49, 0, MidpointRounding.AwayFromZero); // Output: 3
আপনি MidpointRounding.AwayFromZero
যদি একটি .5 মান গোল করে নিতে চান তবে আপনার প্রয়োজন । দুর্ভাগ্যক্রমে এটি এর জন্য পূর্বনির্ধারিত আচরণ নয় Math.Round()
। তাহলে ব্যবহার MidpointRounding.ToEven
(ডিফল্ট) মান নিকটতম বৃত্তাকার হয় এমনকি নম্বর ( 1.5
বৃত্তাকার হয় 2
, কিন্তু 2.5
এছাড়াও বৃত্তাকার হয় 2
)।
away from zero
করার অর্থ এটিও -1.5
গোল হয়ে যাবে -2
।
আপনার দরকার Math.Round
, দরকার নেই Math.Ceiling
। Ceiling
সর্বদা "রাউন্ড" আপ হয়, যখন Round
দশমিক বিন্দুর পরে মানের উপর নির্ভর করে রাউন্ডগুলি উপরে বা নীচে থাকে।
এই ম্যানুয়ালটি আছে, এবং খুব সুন্দর উপায়:
double d1 = 1.1;
double d2 = 1.5;
double d3 = 1.9;
int i1 = (int)(d1 + 0.5);
int i2 = (int)(d2 + 0.5);
int i3 = (int)(d3 + 0.5);
কেবল যে কোনও সংখ্যায় ০.০ যোগ করুন এবং এটি (অথবা এটি মেঝেতে) ফেলে দিন এবং এটি গাণিতিকভাবে সঠিকভাবে গোল হবে: ডি
অন্যরা প্রস্তাবিত (প্রস্তাবিত) হিসাবে আপনি ম্যাথটি রাউন্ড ব্যবহার করতে পারেন, বা আপনি 0.5 টি যোগ করতে পারেন এবং কোনও ইনটিতে (যা দশমিক অংশকে ছাড়বে) যোগ করতে পারেন।
double value = 1.1;
int roundedValue = (int)(value + 0.5); // equals 1
double value2 = 1.5;
int roundedValue2 = (int)(value2 + 0.5); // equals 2
আপনার কাছে ম্যাথ.রাউন্ড ফাংশন রয়েছে যা আপনি যা চান ঠিক তা করে।
Math.Round(1.1) results with 1
Math.Round(1.8) will result with 2.... and so one.
1.5
মূল্য হিসাবে কি ? আপনার আরও পরামিতি দরকার।
আমি এটি সন্ধান করছিলাম, তবে আমার উদাহরণটি ছিল 4.2769 এর মতো একটি সংখ্যা নেওয়া এবং এটি কেবল 4.3 হিসাবে একটি স্প্যানে ফেলে দেওয়া। ঠিক একই নয়, তবে এটি যদি সহায়তা করে:
Model.Statistics.AverageReview <= it's just a double from the model
তারপরে:
@Model.Statistics.AverageReview.ToString("n1") <=gives me 4.3
@Model.Statistics.AverageReview.ToString("n2") <=gives me 4.28
ইত্যাদি ...
ব্যবহার Math.Round
:
double roundedValue = Math.Round(value, 0)
var roundedVal = Math.Round(2.5, 0);
এটি ফলাফল দেবে:
var roundedVal = 3
আপনার নিজস্ব বৃত্তাকার পদ্ধতি লিখুন। কিছুটা এইরকম,
function round(x)
rx = Math.ceil(x)
if (rx - x <= .000001)
return int(rx)
else
return int(x)
end