MySQL में DECIMAL डेटा प्रकार से संख्या को दशमलव के रूप में संग्रहीत करें
MySQL में संख्याओं को सटीक दशमलव परिशुद्धता के साथ संग्रहीत करने के लिए अलग से फॉर्मेट करने की आवश्यकता नहीं है - DECIMAL डेटा प्रकार का उपयोग करें। यह निश्चित-परिशुद्धता अंकगणित प्रदान करता है और वित्तीय/मौद्रिक डेटा के लिए मानक विकल्प है।
सिंटैक्स
DECIMAL(precision, scale)
Precision (कुल अंक): 1-65, सभी अंकों की कुल संख्या
Scale (दशमलव स्थान): 0-30, दशमलव बिंदु के बाद के अंक
mysql> INSERT INTO DemoTable1330 VALUES(10944.7893); -- 4 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(9848.44); -- 2 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(8009.90); -- 2 दशमलव स्थान
mysql> INSERT INTO DemoTable1330 VALUES(1000.99); -- 2 दशमलव स्थान
नोट: पहला मान 10944.7893 (4 दशमलव) DECIMAL(10,2) में डालने पर चेतावनी देता है और 10944.79 पर राउंड हो जाता है।
-- भारतीय रुपये (पैसा तक)
amount DECIMAL(12,2) -- 99,99,99,999.99 तक
-- क्रिप्टोकरेंसी (8 दशमलव)
btc_amount DECIMAL(18,8)
-- प्रतिशत दर (4-6 दशमलव)
interest_rate DECIMAL(5,4) -- 99.9999% तक
-- सामान्य उद्देश्य
price DECIMAL(10,2)
गोलाकार व्यवहार
MySQL **राउंड हाफ अप** (Round Half Up) का उपयोग करता है
10.005 → 10.01 (2 दशमलव पर)
10.004 → 10.00
अंकगणित संचालन
SELECT
price,
quantity,
price * quantity AS total,
ROUND(price * quantity, 2) AS rounded_total
FROM orders;
सर्वोत्तम अभ्यास
हमेशा वित्तीय डेटा के लिए DECIMAL उपयोग करें
परिशुद्धता और स्केल को अधिकतम अपेक्षित मान के आधार पर चुनें
एप्लिकेशन लेयर में भी दशमलव लाइब्रेरी उपयोग करें (Python: decimal, Java: BigDecimal, JS: decimal.js)
FLOAT/DOUBLE से मुद्रा गणना **कभी न करें
DECIMAL MySQL में सटीक संख्यात्मक डेटा के लिए अंतर्निहित, विश्वसनीय समाधान है - कोई बाहरी फॉर्मेटिंग आवश्यक नहीं।
<fmt:formatNumber> टैग का उपयोग संख्याओं, प्रतिशत और मुद्राओं को फॉर्मेट करने के लिए किया जाता है।
विशेषताएं
<fmt:formatNumber> टैग में निम्नलिखित विशेषताएं होती हैं:
विशेषता
विवरण
आवश्यक
डिफ़ॉल्ट
value
दर्शाने के लिए संख्यात्मक मान
हाँ
कोई नहीं
type
NUMBER, CURRENCY, या PERC
<fmt:formatNumber> टैग का उपयोग संख्याओं, प्रतिशत और मुद्राओं को फॉर्मेट करने के लिए किया जाता है।
विशेषताएं
<fmt:formatNumber> टैग में निम्नलिखित विशेषताएं होती हैं:
विशेषता
विवरण
आवश्यक
डिफ़ॉल्ट
value
दर्शाने के लिए संख्यात्मक मान
हाँ
कोई नहीं
type
NUMBER, CURRENCY, या PERC