2010-06-19 17 views
24

जावा में, मैं कैसे कुशलतापूर्वक स्ट्रिंग्स में 1234.56 की तरह तैरता और इसी तरह के BigDecimals में बदल सकते हैं $1,234.56डालर मुद्रा स्वरूपण जावा

की तरह में मैं निम्नलिखित के लिए देख रहा हूँ:

स्ट्रिंग 12345.67 स्ट्रिंग $12,345.67

हो जाता है

मैं इसे Float और BigDecimal के साथ भी करने के लिए देख रहा हूं।

उत्तर

8
DecimalFormat moneyFormat = new DecimalFormat("$0.00"); 
System.out.println(moneyFormat.format(1234.56)); 
+0

उत्कृष्ट! मुझे यह समाधान पसंद है – Erick

30
वहाँ

एक स्थान के प्रति संवेदनशील मुहावरा है कि अच्छी तरह से काम करता है:

import java.text.NumberFormat; 

// Get a currency formatter for the current locale. 
NumberFormat fmt = NumberFormat.getCurrencyInstance(); 
System.out.println(fmt.format(120.00)); 

अपने वर्तमान स्थान अमेरिका में है, तो println प्रिंट होगा $ 120.00

एक और उदाहरण:

import java.text.NumberFormat; 
import java.util.Locale; 

Locale locale = new Locale("en", "UK"); 
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale); 
System.out.println(fmt.format(120.00)); 

यह प्रिंट करेगा: £ 120.00

0

यहां आपके इनपुट और आउटपुट के अनुसार कोड है ::

कार्यक्रम का आउटपुट बिगडिसीमल और संख्या दोनों के लिए $ 12,345.67 है और यह फ्लोट के लिए भी काम करता है।

import java.math.BigDecimal; 
import java.text.DecimalFormat; 
import java.text.DecimalFormatSymbols; 

public class test { 
    public static void main(String[] args) { 
     DecimalFormatSymbols symbols = new DecimalFormatSymbols(); 
     symbols.setGroupingSeparator(','); 
     String pattern = "$#,##0.###"; 
     DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols); 
     BigDecimal bigDecimal = new BigDecimal("12345.67"); 

     String bigDecimalConvertedValue = decimalFormat.format(bigDecimal); 
     String convertedValue = decimalFormat.format(12345.67); 

     System.out.println(bigDecimalConvertedValue); 
     System.out.println(convertedValue); 
    } 
} 
संबंधित मुद्दे