Java:如果十进制为0,如何将双精度数字输出为整数格式

Java:如果十进制为0,如何将双精度数字输出为整数格式,java,numbers,Java,Numbers,我有一个双类型数{1.0,2.3,3.45,7.8,9.0,5.0}的数组。在输出数字时,我希望小数点为0的数字显示为整数:例如,1.0=>1,9.0=>9 在java中,如何轻松地做到这一点?感谢您不要使用任何库,我建议您: public static String parse(double num) { if((int) num == num) return Integer.toString((int) num); //for you, StackOverflowException

我有一个双类型数{1.0,2.3,3.45,7.8,9.0,5.0}的数组。在输出数字时,我希望小数点为0的数字显示为整数:例如,1.0=>1,9.0=>9


在java中,如何轻松地做到这一点?感谢您不要使用任何库,我建议您:

public static String parse(double num) {
    if((int) num == num) return Integer.toString((int) num); //for you, StackOverflowException
    return String.valueOf(num); //and for you, Christian Kuetbach
}
将double转换为int将删除小数点


您可以随意将数字转换为字符串,以任何您喜欢的方式;)

查找
NumberFormat
类。
DecimalFormat
或者如果它是console
System.printf()
像在c中一样,请尝试此链接到之前询问的问题
DecimalFormat df=new DecimalFormat(“#.##”);解析(3.0D)
@nachokk非控制台内容的
System.printf()
替代品是
String.format()
。请使用?在我看来,它的样式比“+任何东西都好…我会使用String.valueOf():)或那个样式,但是String.valueOf在内部调用Integer.toString,所以它的方法调用更少。不过不值得担心……
//对你来说,StackOverflowException
:非常感谢!