جستجو
۱۳۹۷/۱/۲۲ چهارشنبه
(2)
(0)
نمایش اعداد اعشاری double در جاوا
نمایش اعداد اعشاری double در جاوا
به نام خدا

        
تقدیم به هموطنان عزیزم



جاوا را با لذت یاد بگیر!

 

آموزش زبان برنامه نویسی جاوا

نمایش یک عدد از نوع اعشار با n رقم اعشار

نویسنده : رحمان زارعی
 
جاوا را ساده،آسان و شیرین بنوشید!!!
سلام.امروز 20 فروردین 1397 هست، یک مدت طولانی بود که در خدمت دوستای عزیزم نبودم.امیدوارم حالتون خوب و پر انرژی باشید 😊😊
یکی از همراهان سایت www.javapro.ir از بنده سوال کردن که چطور یک عدد از نوع double را تا دو رقم اعشار در جاوا نمایش دهیم؟
مثلا یک متغیر با نام a که از نوع double هست را به صورت زیر در جاوا داریم:

 
package  start1397;

public class Test2 {

    public static void main(String[] args) {
        doublea = 4.750089651125;

    }
}
 
قصد داریم مقدار متغیر a  را در خروجی چاپ کنیم:
 
package  start1397;

public  class  Test2 {

    public static void main(String[] args) {
        doublea = 4.750089651125;
        System.out.println("value of a= "+a);
    }

}
 
خروجی برنامه بالا به صورت زیر خواهد بود:
 
Output:
value of a= 4.750089651125
 
در اینجا ما مقدار متغیر a را به صورت کامل با تمام رقم های اعشاری آن نمایش دادیم، گاهی نیاز داریم که یک عدد را تنها تا دو رقم اعشار نمایش دهیم، برای این کار به صورت زیر عمل می کنیم:

نمایش یک عدد اعشاری با استفاده از دستور printf

نحوه نوشتن یا سینتکس دستور printf به صورت زیر است:

 
System.out.printf(String format,Object... args);
 
•    اولین پارامتر این دستور یک رشته (String) است که قالب بندی (formatting) خروجی مورد نظر را تعیین می کند.
•    منظور از تعیین قالب بندی (formatting) خروجی این است که یک شی (object) ممکن است از نوع عدد صحیح(integer)، عدد اعشاری(floating point)، رشته(String)، کاراکتر(character) و... باشد، به همین خاطر باید ابتدا نوع قالب بندی مقداری که قراره در خروجی چاپ شود را تعیین کنیم.

چاپ یک عدد اعشاری در جاوا
پارامتر های موجود در دستور printf به دلیل این که می تواند نوع های مختلفی، از جمله عدد صحیح(integer)، عدد اعشاری(floating point)، رشته(String)، کاراکتر(character) و...داشته باشد، زمان اجرای برنامه همه این نوع ها را به نوع String تبدیل کرده و بر اساس قالب بندی تعیین شده چاپ می کند.

شاید یکم گیج شده باشید! اصلا نگران نباشید با مثال این مفاهیم رو یاد می گیرید.

مثال: برای چاپ اعداد صحیح

 
 
package start1397;

public class Example1 {

    public static void main(String[] args) {
        inta = 55;
        System.out.printf("%d", a);
    }
}

خروجی:
 
Output:
55

•    در مثال بالا مقدار متغیر صحیح a را در خروجی با استفاده از دستور printf چاپ کرده ایم.
 
System.out.printf("%d", a);

•    چون متغیر a از نوع integer هست از قالب بندی "d%" استفاده کرده ایم.
•    پس ابتدا قالب بندی متغیر مورد نظر را تعیین می کنیم و بعد از علامت  ,(ویرگول) متغیر خود را صدا می زنیم.
•    از دستور "d%" برای قالب بندی جهت چاپ اعداد صحیح با دستور printf استفاده می شود.


مثال: برای چاپ اعداد اعشاری با دستور printf:

 
package start1397;

public class Example1 {

    public static void main(String[] args) {
        double a = 55.365;
        System.out.printf("%f", a);
    }
}

خروجی:
Output:
55.365000

•    از دستور "f%" برای قالب بندی جهت چاپ اعداد اعشاری با دستور printf استفاده می شود.
 
System.out.printf("%f", a);

•    همان طور که مشاهده می کنید در پارامتر اول دستور printf ابتدا نوع قالب بندی متغیر را تعیین کرده و در پارامتر دوم دستور printf متغیر را صدا می زنیم.
•    همه این ها رو گفتیم که به اصل مطلب یعنی نمایش یک عدد اعشاری با تعداد دلخواه رقم اعشار برسیم 😊😊😊 در مثال بالا مقدار متغیر اعشاری a برابر 55.365 می باشد،هنگام چاپ متغیر a ، مقدار 55.365000 نمایش داده شده است! برای این که صفر های اضافی رو حذف کنیم و مقدار عدد اعشاری a را به صورت 55.365 در خروجی نمایش دهیم باید تعداد رقم اعشار را برای متغیر خود تعیین کنیم.برای این کار به صورت زیر عمل می کنیم:

 
package start1397;

public class Example1 {

    public static void main(String[] args) {
        doublea = 55.365;
        System.out.printf("%.3f", a);
    }
}
 
خروجی:
 
Output:
55.365

•    در برنامه بالا مقدار متغیر اعشاری a را تا سه رقم اعشار چاپ کرده ایم.
 
System.out.printf("%.3f", a);
 
•    برای تعیین تعداد رقم اعشار یک متغیر از نوع اعشاری در جاوا کافیست به شکل قالب زیر عمل کنید:

نمایش یک عدد اعشاری در جاوا
مثلا برای متغیر a با تعداد رقم های اعشاری 4 دستور زیر را خواهیم داشت:

 
System.out.printf("%.4f", a);
 
•    کافیست بعد از علامت% یک نقطه (.) وتعداد رقم اعشارو بعد از آن حرف fرا قرار دهیم.

مثال:

 
package start1397;

public class Test2 {

    public static void main(String[] args) {
        doublea = 4.750089651125;

        System.out.printf("value of a= %.2f", a);
    }
}
 
خروجی:
 
Output:
value of a= 4.75
 
•    در مثال بالا گفتیم مقدار متغیر اعشاری a که برابر 4.750089651125 است، را تنها با دو رقم اعشار نمایش دهد.

مثال:

 
package start1397;
public class Test1 {
    // https://t.me/javalike
    public static void main(String[] args) {
        doublea = 2.5;
        doubleb = 4.75;
        doublesum = a + b;
        System.out.printf("%.2f",sum);
    }
}
 
 خروجی:
 
Output:
7.25
 
•    در مثال بالا دو عدد اعشاری را جمع زده و گفتیم حاصل جمع آنها را با دو رقم اعشار نمایش دهد.

مثال:

 

package start1397;

public class Test1 {
    // https://t.me/javalike
    public static void main(String[] args) {
        doublea = 2.154357;
        doubleb = 4.852147369147;
        System.out.printf("a=%.1f\nb=%.9f ", a, b);
    }
}
 
 
خروجی:
 
Output:
a=2.2
b=4.852147369
 
•    در این مثال همزمان دو متغیر اعشاری را با دستور printf چاپ کرده ایم.
•    متغیر a را با یک رقم اعشار و متغیر b را با 9 رقم اعشار نمایش داده ایم.
•    دستور n\ برای پرش به سطر بعد استفاده می شود.


تعیین تعداد رقم های اعشار یک عدد اعشاری با استفاده از دستور String.format

اگر قصد چاپ یک رشته (String) را ندارید و تنها میخواید برای استفاده، آن را فرمت بندی کنید از متد استاتیک format موجود درکلاس String استفاده می کنیم.روش کار این متد شبیه به دستور printf برای فرمت بندی متغیر مورد نظر است با این تفاوت که مقداری را چاپ نمی کند و در عوض مقدار متغیر فرمت بندی شده را به صورت یک String برای ما برمی گرداند.

با مثال توضیح می دهیم:

 
package start1397;

public class Test1 {
    // https://t.me/javalike
    public static void main(String[] args) {
        double a = 66.12369874;

        String str = String.format("%.2f", a);
        System.out.println(str);
    }
}
 
 
خروجی:
 
Output:
66.12

•    در برنامه بالا ما متغیر اعشاری a با مقدار برابر 66.12369874 را با دو رقم اعشار نمایش داده ایم.
 
String str = String.format("%.2f", a);
 
•    در دستور بالا متد format به دلیل این که استاتیک هست با نام کلاس String آن را صدا زده ایم.
•    متد format کار متد printf یعنی قالب بندی متغیر را برای ما انجام میدهد با این تفاوت که مقدار متغیر را چاپ نمی کند و مقدار قالب بندی شده متغیر را به صورت یک String برای ما برمی گرداند.
•    در این جا به دلیل این که متغیر a از نوع عدد اعشاری است، قالب بندی را از نوع "f%" تعیین کرده و از طرفی چون که قراره متغیر a را تا دو رقم اعشار قالب بندی کنیم قالب بندی را به صورت "2f.%" مشخص می کنیم.
•    حالا مقدار قالب بندی شده متغیر a را درون متغیر str که از نوع String است می ریزیم.

 
System.out.println(str);
 
•    در این دستور مقدار str را چاپ کرده ایم.
•    کلا در این برنامه ما با استفاده از دستور String.format مقدار متغیر a را به صورت یک عدد اعشاری با دو رقم اعشار قالب بندی کردیم و درون یک متغیر String ریخته و آن را چاپ کرده ایم.

مثال: برنامه ای به زبان جاوا بنویسید که دو عدد از نوع اعشاری از ورودی بگیرد و مجموع آنها را حساب کرده و در خروجی چاپ کند.

توجه: حاصل جمع دو عدد تا دو رقم اعشار نمایش داده شود.

 

package start1397;

import java.util.Scanner;

public class Test1 {
    // https://t.me/javalike
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter num1");
        doublea = input.nextDouble();
        System.out.println("Enter num2");
        doubleb = input.nextDouble();
        doublesum = a + b;
        String str = String.format("%.2f", sum);
        System.out.println("Out: "+ str);
    }
}
 
 
خروجی: فرض کنید اعداد خود را به صورت زیر به عنوان ورودی به برنامه داده ایم:
 
Output:
Enter num1
5.6689
Enter num2
1.8654
Out: 7.53
 
ما متغیرها با نوع های مختلف را می توانیم با توجه به نیاز قالب بندی کنیم که در اینجا چون که هدفمون تعیین تعداد رقم اعشار یک عدد اعشاری بود بیشتر به نوع اعشاری پرداختیم. در آینده یک جلسه مجزا در مورد مبحث Java String Format تهیه خواهیم کرد. البته شما هم باید به ما یادآوری کنید😊😊😊

پیروز و موفق باشید

کانال تلگرام آموزش جاوا


این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)


دانلود کتاب آموزش جاوا
لینک دانلود

 
باز نشر این مطلب تنها بصورت PDF و با ذکر منبع (لینک سایت) بلامانع است.

برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو  کانال تلگرام  ما شوید.
 
telegram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
طراحی شده توسط شرکت طراحی سایت و سایت ساز آنلاین یوتاب - فروشگاه ساز اینترنتیطراحی شده توسط شرکت طراحی سایت و سایت ساز آنلاین یوتاب - فروشگاه ساز اینترنتی