জাভাতে, আমি একটি ডাবলকে পূর্ণসংখ্যায় রূপান্তর করতে চাই, আমি জানি আপনি এটি করেন কিনা:
double x = 1.5;
int y = (int)x;
আপনি y = 1 পাবেন। আপনি যদি এটি করেন:
int y = (int)Math.round(x);
আপনি সম্ভবত ২ পাবেন আমরা যে বৃত্তাকার সংখ্যাটি খুঁজছি তার চেয়ে বেশি (যেমন: উপস্থাপিত কোডে 2 এর পরিবর্তে 1)?
(এবং হ্যাঁ, আমি এর অর্থ এটিই বোঝাতে চাইছি: এক্স এর কোনও মূল্য আছে কি , যেখানে y এমন ফলাফল দেখায় যা এক্সের বৃত্তাকার উপস্থাপনের চেয়ে ছাঁটাইযুক্ত ফলাফল?)
যদি তাই হয়: কেটে যাওয়ার ঝুঁকি না চালিয়ে গোলকেন্দ্রে দ্বিগুণ করার আরও ভাল উপায় কি?
মূর্তিযুক্ত কিছু: ম্যাথ.াউন্ড (এক্স) একটি দীর্ঘ দেয়, ডাবল নয়। অতএব: ম্যাথ.াউন্ড () এর পক্ষে 3.9999998-এর মতো দেখতে কোনও সংখ্যা ফিরে পাওয়া অসম্ভব। অতএব, int (ম্যাথ.াউন্ড ()) কখনই কোনও কিছুর ছাঁটাই করার প্রয়োজন হবে না এবং সর্বদা কাজ করবে।