आप इसे हल नहीं कर सकते, और मेरा सुझाव है कि यह कोई समस्या नहीं है। इसी तरह Oracle NUMBER
को स्टोर करता है मान:कम से कम सटीकता की आवश्यकता के साथ। यदि आपने मूल्य 4.00
. के रूप में दर्ज किया है इसे 4
. के रूप में संग्रहित किया जाएगा ।
ध्यान दें कि मान प्रदर्शित करते समय जावा दो दशमलव तक डिफ़ॉल्ट नहीं होगा। आपको दशमलव स्थानों की संख्या निर्दिष्ट करनी होगी।
और, यदि संभव हो, तो मैं BigDecimal
. का उपयोग करूंगा float
. के बजाय कीमत के लिए। float
प्रकार सटीक नहीं है। एक विकल्प पूर्णांक प्रकारों में से एक का उपयोग करना है (int
या long
) और दशमलव स्थानों को स्वयं प्रबंधित करें।
अपने जावा कोड में प्रदर्शन के लिए मूल्य को प्रारूपित करने के लिए, String.format("%.2f", price)
का उपयोग करें ।
Oracle क्वेरी में मूल्य को प्रारूपित करने के लिए, TO_CHAR
:
SELECT TO_CHAR(price, '999999990.00'), etc.
आपके लिए सबसे अच्छे प्लेसहोल्डर्स की संख्या चुनें, और ध्यान दें कि Oracle परिणाम की शुरुआत में एक अतिरिक्त स्थान देगा। यदि संख्या ऋणात्मक है, तो यह ऋणात्मक चिह्न धारण करने के लिए है, लेकिन शून्य/धनात्मक के लिए यह एक स्थान है। जगह से छुटकारा पाने के लिए FM
. का उपयोग करें TO_CHAR
. में संशोधक :
SELECT TO_CHAR(price, 'FM999999990.00'), etc.