0Pricing
Java Academy · 课时

数字与小数格式

宽度、精度与填充

数字与小数格式 是 CoddyKit 上的免费 Java Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Java Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Java Academy 课程共包含 4 节课。

格式化数字

数字通常需要特殊处理,例如固定小数位数、填充空格或显示正负号。printf 说明符可以让您控制这些细节。

本课重点介绍用于整数的 %d 和用于浮点值的 %f。

%f 说明符

%f 用于格式化浮点数,例如 double 或 float。

默认情况下,%f 会显示小数点后的六位数字,这通常比您需要的位数更多。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%f\n", 3.14);
    }
}

使用 .2 控制小数位数

在 % 和 f 之间添加类似 .2 的精度,就可以限制小数位数。%.2f 表示“小数点后两位”。

这个值会被四舍五入,而不只是直接截去多余部分。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%.2f\n", 3.14159);
    }
}

使用 printf 进行四舍五入

精度会将数值四舍五入到最接近的值。%.0f 完全不显示小数,并将数值四舍五入为整数。

请注意,这只会改变数字的显示方式,不会改变存储的值。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%.0f\n", 2.7);
    }
}

金额示例

货币金额几乎总是使用两位小数。%.2f 非常适合显示价格。

将它与文本组合,就能构建出整洁的一行内容。

public class Main {
    public static void main(String[] args) {
        double price = 9.5;
        System.out.printf("Total: $%.2f\n", price);
    }
}

最小宽度

% 与字母之间的数字会设置最小宽度。%5d 会在至少 5 个字符宽的字段中打印整数,并在左侧用空格填充。

这是实现列对齐的第一步。

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%5d]\n", 42);
    }
}

带小数的宽度

宽度和精度可以组合使用:%8.2f 表示“至少 8 个字符宽,并保留 2 位小数”。

宽度会计算数字、小数点以及所有填充空格所占的字符数。

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%8.2f]\n", 3.5);
    }
}

用零填充

在 % 后紧接着放置 0,即可使用零而不是空格进行填充。%05d 会在左侧用零填充。

这非常适合固定长度的标识符或时钟数字,例如 09。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%05d\n", 42);
    }
}

千位分隔符

逗号标志 %,d 会使用分隔符对数字进行分组,让较大的数字更易读。

它也适用于 %f,例如 %,.2f。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%,d\n", 1000000);
    }
}

显示加号

+ 标志会强制为正数也显示前导符号。%+d 会打印 +5,而不是 5。

这有助于清楚地显示收益和损失。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%+d and %+d\n", 5, -3);
    }
}

使用 %x 表示十六进制

除了十进制之外,%x 会以十六进制打印整数,%o 则会以八进制打印整数。

您最常使用的是 %d 和 %f,但了解还存在其他数字进制也很有帮助。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%x\n", 255);
    }
}

快速检查

选择正确的说明符。

回顾

现在您可以使用 %.2f 控制小数位数,使用类似 %5d 的格式设置宽度,通过 %05d 使用零填充,使用 %,d 对数字分组,并通过 %+d 强制显示符号。

接下来,您将学习如何将格式化文本保存到 String 中。

常见问题解答

「数字与小数格式」课时是免费的吗?

是的 — 「数字与小数格式」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。

「数字与小数格式」这节课中我会学到什么?

宽度、精度与填充 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Java Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「数字与小数格式」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Java Academy 课中编写并运行代码吗?

能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. printf 基础
  2. 数字与小数格式
  3. String.format
  4. 对齐表格
← 返回 Java Academy