1. الكود:
استيراد java.math.bigdecimal ؛ استيراد java.text.decimalformat ؛ استيراد java.text.numberformat ؛ تنسيق الفئة العامة {double f = 111231.5585 ؛ public void m1 () {bigDecimal bg = new BigDecimal (f) ؛ double f1 = bg.setscale (2 ، bigdecimal.round_half_up) .doublevalue () ؛ System.out.println (F1) ؛ } / *** التحويل الأكثر ملاءمة لـ decimalformat* / public void m2 () {decimalformat df = new decimalformat ("#. 00") ؛ system.out.println (df.format (f)) ؛ } / *** أسهل طباعة من string.format* / public void m3 () {system.out.println (string.format ("٪. 2f" ، f)) ؛ } public void m4 () {numberformat nf = numberFormat.getNumberInstance () ؛ nf.setmaximfractionDigits (2) ؛ System.out.println (nf.format (f)) ؛ } public static void main (string [] args) {format f = new Format () ؛ F.M1 () ؛ F.M2 () ؛ F.M3 () ؛ F.M4 () ؛ }}2. نتيجة الإخراج:
111231.56
111231.56
111231.56
111،231.56
نحن هنا نقدم فئة الأدوات التي تحدد أساليب التشغيل مثل الإضافة والطرح والضرب والقسمة والتقريب لأرقام النقطة العائمة. للرجوع إليها.
الملف المصدر Mathextend.java:
استيراد java.math.bigdecimal ؛ الطبقة العامة Mathextend {// Disevault Division Operation Operation Private static int default_div_scale = 10 ؛ /*** يوفر عملية إضافة دقيقة. * param v1 * param v2 * regurn مجموع معلمتين */ إضافة مزدوجة ثابتة (مزدوجة v1 ، double v2) {bigdecimal b1 = new bigDecimal (double.toString (v1)) ؛ BigDecimal B2 = جديد BigDecimal (double.toString (v2)) ؛ return b1.add (b2) .doublevalue () ؛ } / ** * توفير عمليات إضافة دقيقة * param v1 * param v2 * return المبلغ الرياضي للمعلمتين ، والعودة بتنسيق السلسلة * / السلسلة الثابتة العامة إضافة (سلسلة V1 ، السلسلة V2) {bigdecimal b1 = new bigdecimal (v1) ؛ BigDecimal B2 = جديد BigDecimal (V2) ؛ return b1.add (b2) .ToString () ؛ } /*** يوفر عمليات طرح دقيقة. * param v1 * param v2 * regurn الفرق بين معلمتين */ static static doublet (double v1 ، double v2) {bigdecimal b1 = new BigDecimal (double.toString (v1)) ؛ BigDecimal B2 = جديد BigDecimal (double.toString (v2)) ؛ return b1.subtract (b2) .doublevalue () ؛ } / ** * توفير عملية الطرح الدقيقة * param v1 * param v2 * return الفرق الرياضي بين معلمتين ، يتم إرجاعها بتنسيق السلسلة * / سلسلة ثابتة عامة (السلسلة V1 ، السلسلة V2) {bigdecimal b1 = new bigdecimal (v1) ؛ BigDecimal B2 = جديد BigDecimal (V2) ؛ return b1.subtract (b2) .ToString () ؛ } /*** يوفر عمليات تكاثر دقيقة. * param v1 * param v2 * roturn منتج اثنين من المعلمتين */ public static multiply (double v1 ، double v2) {bigdecimal b1 = new BigDecimal (double.toString (v1)) ؛ BigDecimal B2 = جديد BigDecimal (double.toString (v2)) ؛ return b1.multiply (b2) .doublevalue () ؛ } / ** * توفير عملية مضاعفة دقيقة * param v1 * param v2 * @إعادة المنتج الرياضي لمعلمتين ، يعود بتنسيق السلسلة * / السلسلة الثابتة العامة multiply (السلسلة V1 ، String v2) {bigdecimal b1 = new bigdecimal (v1) ؛ BigDecimal B2 = جديد BigDecimal (V2) ؛ return b1.multiply (b2) .ToString () ؛ } /*** يوفر (نسبيًا) عملية تقسيم دقيقة. عندما لا يكون هناك موقف للتقسيم ، يكون ذلك دقيقًا إلى * 10 أرقام بعد النقطة العشرية ، ويتم تقريب الأرقام اللاحقة ، ويستخدم وضع التقريب round_half_even * @param v1 * param v2 * return the quient of the اثنين من المعلمتين */ public static dibide (double v1) } /*** يوفر (نسبيًا) عملية تقسيم دقيقة. عندما لا يكون هناك نهاية لإكمال الموقف ، تشير معلمة المقياس إلى دقة *، ويتم تقريب الأرقام اللاحقة. يستخدم وضع التقريب Round_half_even * param v1 * param v2 * param مقياس للإشارة إلى أنه يجب أن يكون دقيقًا لعدة أماكن عشرية. * regurn quitient of اثنين من المعلمتين*/ الفجوة المزدوجة الثابتة العامة (double v1 ، double v2 ، int scale) {return divide (v1 ، v2 ، scale ، bigdecimal.round_half_even) ؛ } /*** يوفر (نسبيًا) عملية تقسيم دقيقة. عندما لا يكون هناك نهاية لإكمال الموقف ، تشير معلمة المقياس إلى دقة *، ويتم تقريب الأرقام اللاحقة. يستخدم وضع التقريب وضع التقريب الذي يحدده المستخدم* param v1* param v2* @param مقياس أنك بحاجة إلى أن تكون دقيقًا لعدة أرقام بعد نقاط العشرية* param robe_mod غير unalfalArgumentException ("يجب أن يكون المقياس عددًا صحيحًا إيجابيًا أو صفر") ؛ } BigDecimal B1 = new BigDecimal (double.toString (v1)) ؛ BigDecimal B2 = جديد BigDecimal (double.toString (v2)) ؛ return b1.divide (B2 ، Scale ، Round_Mode) .DoubleValue () ؛ } / ** * يوفر (نسبيًا) عملية تقسيم دقيقة ، عندما يكون هناك تقسيم لا نهاية له ، يكون دقيقًا إلى * 10 أرقام بعد النقطة العشرية ، ويتم تقريب الأرقام اللاحقة ، ويستخدم وضع التقريب Round_Half_even * @param v1 ، param v2 * return quient of اثنين من المعلمة ، العائد على الصيغة. Divide (v1 ، v2 ، default_div_scale) ؛ } /*** يوفر (نسبيًا) عمليات التقسيم الدقيقة. عندما لا يكون هناك نهاية لإكمال الموقف ، تشير معلمة المقياس إلى دقة *، ويتم تقريب الأرقام اللاحقة. يستخدم وضع التقريب Round_half_even * param v1 * param v2 * param مقياس الحاصل على المعلمتين اللذين يجب أن يكونوا دقيقين للنقطة العشرية * @Return of the اثنين من المعلمتين ، عودة */ static String Divide (String v1 ، String v2 ، int Scale) bigdecimal.round_half_even) ؛ } /*** يوفر (نسبيًا) عملية تقسيم دقيقة. عندما لا يكون هناك نهاية لإكمال الموقف ، تشير معلمة المقياس إلى دقة *، ويتم تقريب الأرقام اللاحقة. يستخدم وضع التقريب وضع التقريب الذي يحدده المستخدم * param v1 * param v2 * param مقياس أن عدد الأرقام بعد النقطة العشرية يجب أن يكون دقيقًا للنقطة العشرية * @param round_mod إذا كان (المقياس <0) {رمي جديد غير alfictalargumentException ("يجب أن يكون المقياس عددًا صحيحًا إيجابيًا أو صفر") ؛ } BigDecimal B1 = جديد BigDecimal (v1) ؛ BigDecimal B2 = جديد BigDecimal (V2) ؛ return b1.divide (b2 ، scale ، round_mode) .ToString () ؛ } / *** يوفر تقريبًا دقيقًا للأماكن العشرية ، ويستخدم وضع التقريب Round_half_even* param v أرقام V التي يجب تقريبها* param مقياس عدة أرقام يتم الاحتفاظ بها بعد نتائج العشرية* return بعد الجولة* / static static static (double v ، scale) } / ** * يوفر تقريبًا دقيقًا للأماكن العشرية * @param v أرقام يجب أن يتم تقريبها * scale param حجم عدد الأرقام التي يتم الاحتفاظ بها بعد النقطة العشرية * param round_mod صفر ") ؛ } bigdecimal b = new BigDecimal (double.toString (v)) ؛ إرجاع B.SetScale (Scale ، Round_Mode) .DoubleValue () ؛ } / ** * يوفر تقريبًا دقيقًا للأماكن العشرية ، يستخدم وضع التقريب Round_Half_even * @Param V أرقام يجب أن يتم تقريبه * مقياس param كم عدد الأرقام التي يتم الاحتفاظ بها بعد أن يتم إرجاع المكان العشري * return (Return). } / *** يوفر تقريبًا دقيقًا للأماكن العشرية* @param v أرقام تحتاج إلى تقريب* مقياس param كم عدد الأرقام التي يتم الاحتفاظ بها بعد أن يتم إرجاع النتيجة بعد أن تم إرجاع unterg untergance* كن عددًا صحيحًا أو صفرًا ") ؛ } bigdecimal b = new BigDecimal (v) ؛ إرجاع B.SetScale (Scale ، Round_Mode) .ToString () ؛ }}