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