التحويل من double إلى int

كما ذكرت من قبل، Java تحول الأعداد الصحيحة إلى عشرية تلقائياً إذا دعت الحاجة، بسبب عدم فقدان أية معلومات أثناء التحويل. من جهة أخرى، التحويل من double إلى int يتطلب تقريبا. لا تنفذ Java هذه العملية تلقائياً، وذلك لتضمن أنك، بصفتك المبرمج، مدركاً لضياع القسم العشري من العدد.
أبسط طريقة لتحول قيمة عشرية إلى صحيحة هي استعمال قولبة الأنماط (typecast). تم تسمية قولبة الأنماط هكذا لأنها تسمح لك بأخذ قيمة من نوع معين و"قولبتها" في نوع آخر (بمعنى إعادة تشكيلها أو تحويلها).
لسوء الحظ، فإن البنية المستعملة في قولبة الأنماط بشعة: تضع اسم النوع في أقواس وتستعمله كعامل. مثلاً،
كود:
int x = (int) Math.PI;
العامل (int) له أثر تحويل ما يليه إلى int، لذا فإن x سيحصل على القيمة 3.
قولبة الأنماط لها أولوية على العمليات الحسابية، ففي المثال التالي، سيتم تحويل قيمة PI إلى قيمة صحيحة أولاً، وسيكون الناتج 60.0 وليس 62.
كود:
double x = (int) Math.PI * 20.0;
التحويل إلى قيمة صحيحة دائماً يقرب العدد إلى الأدنى، حتى لو كان الجزء العشري 0.99999999. هاتان الخاصيتان (الأولوية والتقريب) قد تجعلان من قولبة الأنماط سبباً للخطأ.