gpt4 book ai didi

Java 格式化字符串以保留小数位

转载 作者:行者123 更新时间:2023-12-01 17:01:10 24 4
gpt4 key购买 nike

我有一个类似军事的游戏,顶部有一个指示时间的栏。(例如)当凌晨 4:06 时,它显示 4:6 有没有办法我可以将其更改为 04 :06 但也可以说(例如)11:45 而不是 011:045。

这是时间类:

public class Hud {

public int x, y;
public int money = 1000;
public int reputation = 5;
public int wifi = 3;

public int time = 0;
public int timer = 10;
public int minute = 50;
public int hour = 10;

public Hud(int x, int y) {
this.x = x;
this.y = y;

}

public void tick() {
if (time >= timer) {
time = 0;
minute++;
} else if (time <= timer) {
time++;
}
if (minute >= 60) {
minute = 0;
hour++;
}
if (hour >= 24) {
hour = 0;
}
}

public void render(Graphics g) {
Graphics2D g2 = (Graphics2D) g;

RenderingHints rh = new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_GASP);
g2.setRenderingHints(rh);

g.setColor(Color.LIGHT_GRAY);
g.fillRect(x, y, Comp.size.width + 9, 20);

g.setColor(Color.DARK_GRAY);
g.drawRect(x, y, Comp.size.width + 9, 20);

// money

g.setColor(Color.yellow);
g.setFont(new Font("italic", Font.BOLD, 15));
g.drawString("€ " + money, 10, 17);

// reputation

g.setColor(Color.black);
g.setFont(new Font("italic", Font.BOLD, 15));
g.drawString("Rep: " + reputation, 100, 16);

// time

g.setColor(Color.black);
g.setFont(new Font("italic", Font.BOLD, 15));
g.drawString("" + hour + ":" + minute, Comp.size.width / 2 - 20, 16);

}
}

最佳答案

这与字体绝对无关(所以我不确定你为什么在问题标题中提到字体),并且与数字格式有关。你可以这样做:

String displayString = String.format("%02d:%02d", minutes, seconds);

它的作用是将分钟和秒中找到的整数格式化为两位数字字符串,如果整数只有一位数字长,则在前面添加“0”。

"%02d" 是格式说明符字符串,可帮助 String.format 或 java.util.Formatter 了解您想要如何格式化数字。 % 告诉格式化程序这是一个格式说明符。 02 表示将其设为 2 位数字宽,并在需要时在前面添加 0 b. d 表示它是十进制数。

例如,

  g.setColor(Color.black);
g.setFont(new Font("italic", Font.BOLD, 15));
String displayString = String.format("%02d:%02d", hour, minute);
g.drawString(displayString, Comp.size.width / 2 - 20, 16);

关于Java 格式化字符串以保留小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27590419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com