В Java можно ли использовать DecimalFormat для ввода тире (-) между числами? - PullRequest
0 голосов
/ 17 сентября 2011

Можно ли использовать DecimalFormat для ввода тире (-) между числами? Я пытался сделать это, но каким-то образом, когда я запускаю программу, черточка заканчивается в конце чисел, как: 129329-

Я хочу, чтобы это выглядело так: 129-329

Ответы [ 2 ]

2 голосов
/ 17 сентября 2011

Вот как вы можете это сделать.

    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));  

       }  
   }
1 голос
/ 17 апреля 2014

Если ваш номер телефона является строкой, вот решение:

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());  

   }  

}

...