在 Java 中,我可以使用 DecimalFormat 在数字之间输入破折号 (-) 吗?

Posted

技术标签:

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

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

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

【问题讨论】:

如果您包含将破折号放在末尾的代码会很有帮助。 【参考方案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());  

     

【讨论】:

以上是关于在 Java 中,我可以使用 DecimalFormat 在数字之间输入破折号 (-) 吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 中,我可以使用 DecimalFormat 在数字之间输入破折号 (-) 吗?

我可以在 Java 中使用 resultset.getBoolean 在 SQL 中获取 Tinyint

我可以在使用 java 的移动设备上启用蓝牙吗?

我可以在 python 中访问 c​​++ 或 Java 函数吗

我可以在 Java Swing 应用程序中使用 Google Visualization API 吗?

我可以使用 Swing TextField 在 Java 中进行日期数学运算吗?