সবচেয়ে ভালো উপায় একটি রূপান্তর করতে কি doubleএকটি থেকে int? একটি castালাই ব্যবহার করা উচিত?
etc.:)
সবচেয়ে ভালো উপায় একটি রূপান্তর করতে কি doubleএকটি থেকে int? একটি castালাই ব্যবহার করা উচিত?
etc.:)
উত্তর:
আপনি যদি একটি ডিফল্ট ছাঁটাই-শূন্যের দিকে আচরণ চান তবে আপনি একটি কাস্ট ব্যবহার করতে পারেন। অন্যথা, আপনি ব্যবহার করতে চাইতে পারেন Math.Ceiling, Math.Round, Math.Floorইত্যাদি - যদিও আপনি এখনও পরে একটি ঢালাই করতে হবে।
ভুলে যাবেন না যে এর পরিসীমা এর ব্যাপ্তির intচেয়ে অনেক ছোট double। থেকে একটি ঢালাই doubleকরার intযদি মান পরিসীমা বাইরে একটি ব্যতিক্রম নিক্ষেপ করা হবে না intএকটি কল যেহেতু, একটি অবারিত প্রেক্ষাপটে Convert.ToInt32(double)ইচ্ছা। Theালাইয়ের ফলাফল (একটি চেক না হওয়া প্রসঙ্গে) স্পষ্টভাবে অনির্ধারিত হয় যদি মানটি সীমার বাইরে থাকে।
intআপনি 32 বা 64 বিট মেশিন ব্যবহার করছেন তা নির্বিশেষে একটি এর আকার সর্বদা 32 বিট থাকে।
intVal = System.Convert.ToInt32(System.Math.Floor(dblVal));
using System;ফাইলটির শীর্ষে থাকতেন , যে মুহুর্তে এটি ঠিক হতে পারেintVal = Convert.ToInt32(Math.Floor(dblVal));
usingনির্দেশিকা সম্পর্কে আরও ভাল সমাধানটি শিখাই।
আপনি যদি কাস্ট ব্যবহার করেন, অর্থাৎ, (int)SomeDoubleআপনি ভগ্নাংশটি কেটে ফেলবেন। এটি হ'ল SomeDouble4.9999 হলে ফলাফলটি 4 হবে, 5 নয় int আপনি যদি গোলটি ব্যবহার করতে চানMath.Round
হ্যাঁ, কেন না?
double someDouble = 12323.2;
int someInt = (int)someDouble;
Convertক্লাস ব্যবহার করে খুব ভাল কাজ করে।
int someOtherInt = Convert.ToInt32(someDouble);
Convert.ToInt32 রূপান্তর করার সেরা উপায়
এখানে একটি সম্পূর্ণ উদাহরণ
class Example
{
public static void Main()
{
double x, y;
int i;
x = 10.0;
y = 3.0;
// cast double to int, fractional component lost (Line to be replaced)
i = (int) (x / y);
Console.WriteLine("Integer outcome of x / y: " + i);
}
}
আপনি যদি সংখ্যাটি কাছাকাছি সংখ্যার কাছাকাছি করতে চান তবে নিম্নলিখিতটি করুন:
i = (int) Math.Round(x / y); // Line replaced
আমার উপায়গুলি হ'ল:
- Convert.ToInt32(double_value)
- (int)double_value
- Int32.Parse(double_value.ToString());
double_value = 0.1