2013-03-20 42 views
1

好吧我工作的一個無線電節目,目前的無線電頻率是整數,如; 107900,87900.需要幫助做一些特定的整數格式(java)

我需要轉換數字一樣,爲的字符串,這個樣子,

107.9,87.9

我被玩弄的DecimalFormat但都沒有成功。任何提示或提示,讚賞!

這裏有一些事情我已經試過了,

frequency = 107900; 
double newFreq = frequency/1000; 
String name = String.valueOf(newFreq); 
result = 107.0 

double freqer = 107900/1000; 
DecimalFormat dec = new DecimalFormat("#.0"); 
result = 107.0 

int frequency = 107900; 
DecimalFormat dec = new DecimalFormat("#.0"); 
result = 107900.0 

謝謝!

回答

3

從而爲有關與浮點,並假設他們是小數畢竟一個數字(如廣播電臺都在這裏,反正)不亂,你可以使用:

String.format ("%d.%d", freq/1000, (freq/100) % 10) 

見,例如,以下完整的程序:

public class Test { 
    static String radStat (int freq) { 
     return String.format ("%d.%d", freq/1000, (freq/100) % 10); 
    } 

    public static void main(String args[]) { 
     System.out.println("107900 -> " + radStat (107900)); 
     System.out.println(" 87900 -> " + radStat (87900)); 
     System.out.println("101700 -> " + radStat (101700)); 
    }       
} 

,其輸出:

107900 -> 107.9 
87900 -> 87.9 
101700 -> 101.7