【问题标题】:Java operands different consistencyJava操作数不同的一致性
【发布时间】:2013-02-11 17:42:14
【问题描述】:

你知道关于不同表示之间可行的算术运算是否有任何规则声明可以遵循? 例如:7

int a = 0342342;
int b = 0x1abcdef; 
int c = a +b;
System.out.println("It prints out : "+c);

打印出来:28152529 .

结果 (c) 是 2 个操作数 a 和 b 相加的十进制表示。

如果我希望结果采用不同于十进制格式的特定表示格式怎么办?

【问题讨论】:

  • 使用System.out.printf,如果想要更灵活,可以使用Integer.toString(int base)
  • a 是以0 开头的八进制,b 是以0x 开头的十六进制。 C你以十进制打印出来

标签: java decimalformat


【解决方案1】:

数字03423420x1abcdef 是Java 为方便开发人员而支持的整数的文字表示形式。在 Java 中,该整数实际上只有一种表示形式,它存储在 int 类型中,不引用数字基数(如八进制或十六进制)。

默认情况下,当您打印int 时,它会以十进制格式显示。

如果你想要其他格式,你应该使用System.out.printf:

System.out.printf("Decimal: %d",c);
System.out.printf("Octal: %o",c);
System.out.printf("Hexadecimal: %x",c);

【讨论】:

    【解决方案2】:

    像这样打印十六进制

    System.out.printf("It prints out %x\n", c); 
    

    【讨论】:

    【解决方案3】:

    您可以使用System.out.format 来表示不同的格式。

    您可以在这里找到更详细的答案: http://docs.oracle.com/javase/tutorial/essential/io/formatting.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      • 2014-04-05
      • 2014-02-06
      • 2020-09-27
      • 2020-07-23
      相关资源
      最近更新 更多