1

好吧,我正在做一个广播节目,目前广播频率是整数,例如;107900、87900。

我需要将这样的数字转换成看起来像这样的字符串,

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

谢谢!

4

1 回答 1

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
于 2013-03-20T01:52:13.387 回答