在Java中,如何在数字中打印正号

In Java, how to print positive signs in the numbers?

本文关键字:打印 数字 Java      更新时间:2023-09-26

请帮帮我,我有一个非常简单的问题。我想知道如何在使用java代码的同时打印数字中的正号。使用c++,我可以使用setiosflags(ios::showpos),它将打印+2,+1,+5等。

public static String getStringFromIntWithSign(int num) {
    if (num > 0) { 
        return "+"+num; 
    } else {
        return ""+num;
    }
}

没有办法1告诉Java "全局",或者对于特定的流,使用显式符号格式化数字。

有多种方法可以用显式符号格式化特定的数字。例如:

    System.out.println("Number is " + (num > 0 ? "+" : "") + num);

最优雅的方法是使用Formatter类和"+"标志;例如(间接地)

    System.out.println(String.format("Number is %+d", num));

1 -我应该限定一下。理论上,您可以创建并使用一个时髦的Locale,它提供一个自定义的NumberFormat对象,该对象使用显式符号格式化数字。这将导致某些类型的i18n消息格式"全局"改变其行为…对于使用区域设置的所有情况。但它可能会破坏其他东西

您可以遍历结果并显示如果x> 0,等等。但是我不知道java库中的函数只显示正整数