N进制小数

public class nFloat {

    public static String fun(double dTestNo, int iBase) {
        int bit = 10; //保留10位小数
        int[] iT = new int[bit];
        int iNo;
        String result = "";
        for (iNo = 0; iNo < bit; iNo++) {
            dTestNo *= iBase;
            iT[iNo] = (int) dTestNo;    // 填空
            if (dTestNo >= 1.0) dTestNo -= iT[iNo];    // 填空
        }
        result = result + "0.";
        for (iNo = 0; iNo < bit; iNo++)
            result = result + iT[iNo];
        result = result + "\n";
        return result;
    }

    public static void main(String[] args) {
        String result = "";
        Scanner scanner = new Scanner(System.in);
        int n = 0;
        double dTestNo = 0.795;
        while (scanner.hasNext()) {
            dTestNo = scanner.nextDouble();
            n = scanner.nextInt();
            if ((dTestNo - 0.0) > 0.0000009 & n != 0) {
                result = result + fun(dTestNo, n);
            } else {
                System.out.println(result);
            }
        }
    }

}

分享文章:N进制小数
转载注明:http://scyanting.com/article/jhpidc.html