在 Java class DecimalFormat 中,小数点左侧的主题标签有什么作用?
In the Java class DecimalFormat, what do the hashtags at the left side of the decimal do?
我的这个问题的标题不是很好,但希望我能在这个 post.
中解释更多
import java.io.*;
import java.text.*;
public class Output {
public static void main(String[] args) {
/*double number = 438.978;
/*UpperCase <- naming convention for classes.DecimalFormat x = new DecimalFormat("#.#");
System.out.println(x.format(number));*/
double number = 43.97;
DecimalFormat x = new DecimalFormat(".###");
System.out.println(x.format(number));
}
}
不要介意评论。在我的 Gr 11 Comp Sci class 期间,我问我的老师小数点左边的主题标签(第 11 行 )是否对双数有任何影响,我们试了一下a class 我们发现它并没有改变 System.out.println 语句的输出。
~/workspace/Java/ $ java Output
43.97
谁能给我解释一下小数点左边参数的用途?有人编程让它做某事所以我只是好奇。
#
格式化数字,但丢弃零。由于您的号码在小数点后有两位数,因此第三个格式字符将被忽略。如果你有一个小数点后有四位数字的数字,它们将减少到三位有效数字。
根据DecimalFormat docs #
用于有条件地显示数字。
Symbol Location Localized? Meaning
# Number Yes Digit, zero shows as absent
请注意 #
使用的数量很重要:
DecimalFormat x = new DecimalFormat(".###");
System.out.println(x.format(43.9711111)); // 43.971
就像其他人所说的那样 #
格式化一个数字但丢弃零。
在您将 .###
应用于像 12.34
这样的双精度的示例中,它 会 格式化为 12.340
但由于它会掉零才不是。
将#
放在小数点前也会发生同样的情况,例如###.###
格式12.34
会 显示 012.340
但由于它丢弃零,因此显示为 12.34
.
所以在之前#
小数实际上什么都不做。
小数点前 有用的示例,因此您可以看到小数点前的格式 can 工作是 0
它格式化数字但 不 删除零,也可以在 DecimalFormat 中使用。像 000.000
这样的模式应用于 12.34
会导致 012.340
:
double d = 12.34;
DecimalFormat df = new DecimalFormat("000.000");
System.out.print(df.format(d));
0
、#
等模式在 DecimalFormat.
中定义
我的这个问题的标题不是很好,但希望我能在这个 post.
中解释更多import java.io.*;
import java.text.*;
public class Output {
public static void main(String[] args) {
/*double number = 438.978;
/*UpperCase <- naming convention for classes.DecimalFormat x = new DecimalFormat("#.#");
System.out.println(x.format(number));*/
double number = 43.97;
DecimalFormat x = new DecimalFormat(".###");
System.out.println(x.format(number));
}
}
不要介意评论。在我的 Gr 11 Comp Sci class 期间,我问我的老师小数点左边的主题标签(第 11 行 )是否对双数有任何影响,我们试了一下a class 我们发现它并没有改变 System.out.println 语句的输出。
~/workspace/Java/ $ java Output
43.97
谁能给我解释一下小数点左边参数的用途?有人编程让它做某事所以我只是好奇。
#
格式化数字,但丢弃零。由于您的号码在小数点后有两位数,因此第三个格式字符将被忽略。如果你有一个小数点后有四位数字的数字,它们将减少到三位有效数字。
根据DecimalFormat docs #
用于有条件地显示数字。
Symbol Location Localized? Meaning
# Number Yes Digit, zero shows as absent
请注意 #
使用的数量很重要:
DecimalFormat x = new DecimalFormat(".###");
System.out.println(x.format(43.9711111)); // 43.971
就像其他人所说的那样 #
格式化一个数字但丢弃零。
在您将 .###
应用于像 12.34
这样的双精度的示例中,它 会 格式化为 12.340
但由于它会掉零才不是。
将#
放在小数点前也会发生同样的情况,例如###.###
格式12.34
会 显示 012.340
但由于它丢弃零,因此显示为 12.34
.
所以在之前#
小数实际上什么都不做。
小数点前 有用的示例,因此您可以看到小数点前的格式 can 工作是 0
它格式化数字但 不 删除零,也可以在 DecimalFormat 中使用。像 000.000
这样的模式应用于 12.34
会导致 012.340
:
double d = 12.34;
DecimalFormat df = new DecimalFormat("000.000");
System.out.print(df.format(d));
0
、#
等模式在 DecimalFormat.