بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چه کنیم در Double اعداد بدون اعشار چاپ شود ؟

مدیریت گفتگو
khanbeiki 11 سال پیش
آخرین تغییر: 11 سال پیش

چه کنیم در Double اعداد بدون اعشار چاپ شود ؟

یعنی اعداد بجای 10.0 >>>> 10 چاپ شود؟؟

نظرات

دبیری 11 سال پیش
خوب بعداز اینکه همه محاسبات انجام شد عدد اخرو به int تبدیل کن .
khanbeiki 11 سال پیش
نمیشه ، چون اعداد اعشاری میشه باید دابل باشه. اما حالت عادی هم که اعداد اعشاری نمیشه هم یه نقطه اعشار دارد. این رو چ کنم ؟
amin2525 11 سال پیش
نقطه را با استفاده از contain ورش دار و به جاش "" بذار.

پاسخ‌ها 2

دبیری 11 سال پیش

خوب با یه شرط میتونی بررسی کنی که عددت  اعشاری ،  به جز صفر داره  یا نه مثل کد اینجا که با جاوا نوشته شده

که برای حذف اعشار از تابع round از کلاس math استفاده شده است . (با استفاده از راهنمایی از a_k1369  در  پست پایین )   :

public class cast {
public static void main(String[] args) {

double num = 100.00;

if( num == (int)num){
System.out.println(Math.round(num));

}
else {
System.out.println(num);
}



}

}

کد بالا num رو بررسی میکنه میبینه این int هست پس میریزتش توی یه   int  دیگه و بعد هم چاپش  میکنه و خروجی به جای 100.00 برابر با 100 میشه

ولی اگه عدد int نباشه و به طور مثال به جای عدد بالا که 100.00 هست عدد دیگه ای مثل 100.12 باشه خود عدد 100.12 چاپ میشه . 

 public class cast {
public static void main(String[] args) {


double list[] = {100.00 , 110.12 , 120.02 , 130.00 , 140.45 , 150.00};

for ( int i = 0 ; i< list.length ; i++)
if( list[i] == (int)list[i]){

   System.out.println(Math.round(num));

}
else {
System.out.println(list[i]);
}



}

}

این کد هم مثل کد بالاست فقط با یک ارایه که چند تا عدد متفاوت double رو میگیره و بررسی میکنه اگه اعشار نداشتن اعداد صفر اضافی رو برمیداره خروجی کد بالا میشه با ورودی های :

{100.00 , 110.12 , 120.02 , 130.00 , 140.45 , 150.00};

برابر میشه با :

 100
110.12
120.02
130
140.45
150

نظرات

وحید 11 سال پیش
دوست عزیز می خوای اگر اعشارت صفر بود دیده نشه یا کلا اعشار دیده نشه؟ راه ساده ای داره.
دبیری 11 سال پیش
همون اولی میخاد اگه عدد ما که double هست اعشارش صفر باشه به صورت int نشون داده شه اگه راه اسون تری از چیزی که من گفتم دارید ممنون میشم بگید .
khanbeiki 11 سال پیش
سخن سیاوش درسته ، اگر امکان داره توضیح دهید. کامل توضیح بدید لطفا
khanbeiki 11 سال پیش
سخن سیاوش درسته ، اگر امکان داره توضیح دهید. کامل توضیح بدید لطفا اگر عدد اعشار لازم نداشت مثل : 10.0 >>> بنویسد 10 اگر اعشار لازم داشت ، با اعشار نمایش دهد
دبیری 11 سال پیش
به هر حال کد بالا من بهت جواب میده راه همچین سختی هم نیست و اسونه و میتونی ازش استفاده کنی
Devtpoint 11 سال پیش
سلام بهترین راه استفاده از توابع Math درج شده در جاوا است مانند کد زیر و خروجی :
Devtpoint 11 سال پیش


public class riazi {
    public static void main(String[] args) {
        double x=12.32;
        System.out.println("Some x is = "+Math.round(x));
    }
}

Some x is = 12

نظرات

دبیری 11 سال پیش
بله درسته این بهترین جواب برای قسمت دوم که تبدیل دابل به اینت هست میباشد که روش روند کردن کاملا مناسب هست ، اما قسمت اصلی سوال که بررسی اینت یا دبل بودنه و که من تو کد پست قبل با اجازتون از روش شما استفاده میکنم

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .