【问题标题】:In Java, can I use DecimalFormat to enter a dash (-) between numbers?在 Java 中,我可以使用 DecimalFormat 在数字之间输入破折号 (-) 吗?
【发布时间】:2011-09-17 03:14:11
【问题描述】:

我可以使用DecimalFormat 在数字之间输入破折号 (-) 吗?我一直在尝试这样做,但是当我运行程序时,破折号会出现在数字的末尾,例如:129329-

我希望它看起来像这样:129-329

【问题讨论】:

  • 如果您包含将破折号放在末尾的代码会很有帮助。

标签: java formatting number-formatting


【解决方案1】:

您可以这样做。

    import java.text.DecimalFormat;  
    import java.text.DecimalFormatSymbols;  

    public class NewClass  
    {  
        public static void main(String[] args)  
        {  
            DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();  

           // Use space not comma to thousands: 10 000 not 10,000.   
           phoneNumberSymbols.setGroupingSeparator('-');   

           DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);  

           System.out.println("Some mobile number:" + phoneNumberFormat.format(567884968L));  

       }  
   }

【讨论】:

    【解决方案2】:

    如果你的电话号码是字符串,解决方法如下:

    import java.text.DecimalFormat;  
    import java.text.DecimalFormatSymbols;  
    
    public class NewClass {
    
        public static void main(String[] args) {
    
            long lg_tel = Long.parseLong(example.getString("tel")); // String to Long
            DecimalFormatSymbols phoneNumberSymbols = new DecimalFormatSymbols();  
    
            // Use space not comma to thousands: 10 000 not 10,000.   
            phoneNumberSymbols.setGroupingSeparator('-');   
    
            DecimalFormat phoneNumberFormat = new DecimalFormat("####,###,###", phoneNumberSymbols);  
    
            (...)
            tv.setText(phoneNumberFormat.format(lg_tel).toString());  
    
       }  
    

    }

    【讨论】:

      猜你喜欢
      • 2011-08-28
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      相关资源
      最近更新 更多