الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

العمليات الحسابية بين float & integer

بدأه sb4u2000 في 30 يناير 2013 · 9 رد · 882 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني الكرام 

ممكن مساعدة 

الصورة توضح أكثر 

quantite ====> integer

prix d achat ====> float

 

أريد حساب quantite * prix = رقم عادي 

أنا عملت ب float يعطريني مثال :

4000*50000 = 2.0E8 !!!!!!!

مع العلم أن الحساب الحقيقي هو 200000000 

ممكن مساعدة أرجوكم الصورة توضح كل شيء

جزاكم الله خيرا

post-272889-0-67529100-1359542875_thumb.

#2

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

صورة
صورة

حسابي في الفيس بوك
http://goo.gl/XIzwL

حسابي في تويتر
http://goo.gl/6p4e3

 

 
 
#3

شكرا لك أخي فيصل أنا جديد في المنتدى 

آمل أن أكون عند حسن ظن الجميع و شكرا

#4

اليس 200000000 هو نفسه 2E8 ؟ والموضوع طبيعي طالما انك تقوم بعملية حسابيه بين عددين من نوع integer وfloat فإن الكومبيلر سوف يحول العددين الى float ويكون الناتج float ، قم بتحويل العدد الى long  بعد القيام بالعملية الحسابيه

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#5

شكرا لك أخي الكريم 

ممكن تعدل لي الكود 

 

 

 

DefaultTableModel dtm = new DefaultTableModel();
        dtm.addColumn("Réf de produit");
        dtm.addColumn("Désignation de produit");
        dtm.addColumn("Prix d'achat");
        dtm.addColumn("Quantité");
        dtm.addColumn("total");
        String tab[] = new String[5];
        long prix,qtt,qttprix;
              
        try {
            String url = "jdbc:mysql://localhost/adil_dbase";
            String user = "root";
            String passe = "adil4u";
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, passe);
            Statement st = con.createStatement();
            ResultSet res = st.executeQuery("SELECT * FROM produit ");
            while (res.next()) {
                tab[0] = res.getString("REF_PDT");
                tab[1] = res.getString("DESIGNATION_PDT");
                tab[2] = res.getString("PRIX_ACHAT");
                tab[3] = res.getString("QTE_PRDT");
                 prix = Long.parseLong(res.getString("PRIX_ACHAT"));
                 qtt = Long.parseLong(res.getString("QTE_PRDT"));
                 qttprix= prix * qtt;
                tab[4] = ""+qttprix;
                dtm.addRow(tab);
            }
            jTable1.setModel(dtm);
       } catch (ClassNotFoundException | SQLException e) {
            System.out.println(e.getMessage());
        }
#6

استخدم الـــ Wrapper classes لتحويل العدد، ليس الموضوع بالشيئ الصعب، كما اود ان انبهك لاستخدام وسم الكود بالضغط على الزر الذي رمز <> لادخال الكود حتى يبدو بشكل مرتب، تحياتي

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#7

أخي فيصل أنا جديد في البرمجة ممكن مساعدة لحل المشكل

#8

اخي ارجو ان لا تبدي اليأس التام وكانك غير قادر على عمل شيئ. حسنا و لنأخذ الموضوع على سبيل الجدل قمت بكتابة java convert float long في Google وهذا احد الاشياء التي ظهرت لي.

 

 

long mylong = (long)(myfloat);

ومن التوثيق الخاص باوراكل هذه الصفحه الخاصه بالفئه Float

 

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Float.html

 

وهذا اقتباس من الصفحه

 

 

اقتباس

longValue()
          Returns value of this Float as a long (by casting to type long).

 

لقد قمت بهذا من دون ان استخدم اي معرفه لي بالجافا ، قمت بوضع نفسي في موضعك وهذا ما قمت به. اذا لم تستفد من ادوات البحث فأنا اشك انه ستكون لديك القدرة على تطوير اي منتج برمجي ذو قيمه. تحياتي وتقبل نقدي

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9

إستخدم printf مع %.2f

System.out.printf("%.2f\n", x * y)
#10

السلام عليكم اخواني الأعزاء لقد وجدت الحل يمكن أن أفيد البعض ممن لديهم هذا المشكل 

لقد قمت بالحساب عن طريق mysql و لقد أصبح كل شيء تمام شكرا لكم جميعا مثال : 

 

select X*Y as Z,

sum(X*Y)  as total from database;

 

أنا جديد في هذا المجال المرجو أني أكون قد وفقت في الشرح

مواضيع مشابهة