java - 在 Java 类 DecimalFormat 中,小数点左侧的主题标签有什么作用?

标签 java class formatting format decimalformat

我的这个问题的标题不是很好,但希望我能在这篇文章中对其进行更多解释。

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/

相关文章:

java - 分析 i += 1 和 i = i + 1 之间的差异

java - 多人连接

java - 获取 IndexOutOfBoundsException : -1 when no negative numbers are involved

java - 选择时JTable不更新

java - 一个类可以从类本身内部取消吗?

c++ - 我应该将类放在 C++ 中的单独文件中吗?

java - 如何调用另一个类中的List类型方法

android - 在 JNI 中将 double 科学记数法转换为十进制记数法

r - 将数字格式设置为两位数

html - 如何防止在 HTML 元素的新行中只有一个悬词?