我的这个问题的标题不是很好,但希望我能在这篇文章中对其进行更多解释。
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 课上,我问我的老师小数点左边的主题标签(第 11 行)是否对双数有任何影响,我们在类里面尝试过,我们发现它没有更改 System.out.println 语句的输出。
~/workspace/Java/ $ java Output
43.97
谁能给我解释一下小数点左边参数的用途?有人编程让它做某事,所以我只是好奇。
最佳答案
就像其他人所说的那样,#
格式化一个数字但丢弃零。
在您将 .###
应用于类似 12.34
的示例中,它将格式化为 12.340
但由于它不掉零。
当您在小数点前放置#
时,也会发生同样的情况,例如###.###
来格式化 12.34
会显示012.340
,但由于它丢了零,所以显示为12.34
。
所以小数点前的 #
实际上什么都不做。
小数点之前有用的示例,因此您可以看到小数点之前的格式可以工作是0
,它格式化数字但不舍弃零,也可以用在 DecimalFormat 中。应用于 12.34
的类似 000.000
的模式导致 012.340
:
double d = 12.34;
DecimalFormat df = new DecimalFormat("000.000");
System.out.print(df.format(d));
0
、#
等模式在 DecimalFormat 中定义.
关于java - 在 Java 类 DecimalFormat 中,小数点左侧的主题标签有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53089357/