当前位置: 首页 > 知识库问答 >
问题:

##和##有什么区别和####十进制格式的模式?

汪深
2023-03-14

在我的程序中,我使用了#.#在DecimalFormat中,如下所示:

DecimalFormat df = new DecimalFormat("#.##"); 

我错误地添加了一个额外的#如下所示:

DecimalFormat df = new DecimalFormat("##.##");

但这并不影响我的输出。我尝试过使用不同的输入组合。输出没有差异。尝试过谷歌,但没有正确的解释。

那么使用“#.##”和“##.#”的确切区别是什么呢?

如果两者都是相同的,为什么Java中允许这样做?

如果两者都不同,为什么在这两种情况下输出是相同的?

编辑:

示例程序:

import java.text.DecimalFormat;

public class Decimals {

    public static void main(String[] args) {

        double d1[] = new double[] {100d, -1d, -0.111111d, 2.555666d, 55555555555d, 0d};

        DecimalFormat df1 = new DecimalFormat("#.##");
        DecimalFormat df2 = new DecimalFormat("##.##");

        for (double d : d1) {
            System.out.println(df1.format(d));
            System.out.println(df2.format(d));
        }
    }

}

输出:

100
100
-1
-1
-0.11
-0.11
2.56
2.56
55555555555
55555555555
0
0

共有2个答案

鲁文昌
2023-03-14

因此,DecimalFormat用于格式化数字的整个表示形式,并控制数字后的数字计数。

因此,十进制()之前的##不会有不同的行为。。。。但如果放在小数点后(),肯定可以

假设12.234作为输入数字:

12.234和12.23有意义,但12.234和2.234没有意义

所以重点放在小数点后的格式和值上,比如:

>

  • setMinumFractionDigits(0);

    setMaximumFractionDigits(2)

    setRoundingMode

  • 段干楚青
    2023-03-14

    "#,十进制,零显示为缺席"。

    所以额外的#将显示另一个数字,除非它是0。因此,这两种格式给出了相同的结果。

    编辑:事实上,它们都不做任何事情,因为它们等同于默认格式。

     类似资料:
    • 3)在Lucene中,哪种数据结构是高效的索引结构?

    • 问题内容: 我想知道是否有人可以区分这两者,两者的命名都相似。 问题答案: Docker Swarm 是一个单独的产品,可用于群集多个Docker主机。在Docker 1.12版本之前,它是用于群集主机的唯一本地Docker选项,并且它需要针对分布式状态,服务发现和安全性进行大量附加设置。 在Docker 1.12中,Swarm模式内置在Docker Engine中。要运行集群,您只需要在多台机器

    • 问题内容: 来自Wiki 可执行和可链接格式: 这些段包含文件运行时执行所需的信息,而各段包含用于链接和重定位的重要数据。整个文件中的任何字节最多只能由一个部分拥有,并且可以有任何部分都不拥有的孤立字节。 但是节和段之间有什么区别?在可执行的ELF文件中,段中是否包含一个或多个节? 问题答案: 但是节和段之间有什么区别? 正是您引用的内容:这些段包含运行时所需的信息,而这些段包含链接期间所需的信息

    • 我目前正在学习Scala并运行99个问题(http://aperiodic.net/phil/scala/s-99/),它给P07(http://aperiodic.net/phil/scala/s-99/p07.scala)的解决方案如下所示: 但是当我将更改为或其他方式时,结果似乎没有什么不同。因此,我质疑有什么不同以及他们为什么这样做。

    • 本文向大家介绍在history模式中push和replace有什么区别?相关面试题,主要包含被问及在history模式中push和replace有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 push(''):添加一个新的记录到历史堆栈, history.length+1。(一般会用来跳转到一个新页面, 用户点击浏览器的回退按钮可以回到之前的路径。) replace(''):替换掉当前堆栈

    • 问题内容: 谁能解释工厂模式与策略模式之间的差异? 对我来说,除了一个额外的工厂类(它们以工厂模式创建产品的对象)外,两者看起来都一样 问题答案: 工厂模式是一种创造模式。战略模式是一种运营模式。换句话说,工厂模式用于创建特定类型的对象。策略模式用于以特定方式执行一个操作(或一组操作)。在经典示例中,工厂可能会创建不同类型的动物:狗,猫,老虎,而策略模式将执行特定的动作,例如,移动;使用“跑步”,