Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从函数的返回中删除尾部0_Java - Fatal编程技术网

Java 从函数的返回中删除尾部0

Java 从函数的返回中删除尾部0,java,Java,如何从函数返回中删除尾随零? 这是另一个类中的函数 static public double Area(double side1,double side2){ return side1*side2; } 这里是调用函数 System.out.println("Side 1 : "); b1=new Scanner(System.in); double side1=b1.nextDouble(); System.out.println("Side 2: "); b2=new Scanne

如何从函数返回中删除尾随零? 这是另一个类中的函数

static public double Area(double side1,double side2){
    return side1*side2;
}
这里是调用函数

System.out.println("Side 1 : ");
b1=new Scanner(System.in);
double side1=b1.nextDouble();
System.out.println("Side 2: ");
b2=new Scanner(System.in);
double side2=b2.nextDouble();
System.out.println("Area= "+Rectangle.Area(side1, side2));
对于side1=10和side2=10,输出将为

Area = 100.0
当我想要的时候

Area = 100
例如,值0.25和2将为

Area = 0.5

当您想要打印一个
double
时,Java的
printf
和其他类似功能允许您控制问题,包括位数、十进制分隔符的使用和零位数的处理。更多信息:

您可以使用
小数格式
限制小数或删除尾随的0

限制小数

double area = 0.1234;
DecimalFormat numberFormat = new DecimalFormat("#.00");
System.out.println(numberFormat.format(area));
它将输出为
0.12

您可以根据需要使用0的数量

如果要删除尾随
0
请使用
。#
因此
0.50
将为
0.5

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

您是否理解100和100.0之间在表示上没有区别?这就像要求一个方法以十六进制而不是十进制返回一个
int
。。。这只是一个数字。(当您将其格式化为字符串时,“尾随零”的概念仅适用于
double
。但类似
BigDecimal
的情况并非如此。)尾随零是显示值的方式的产物,而不是作为值的一部分存储的东西。爪哇!=CobolIf如果在输出/转换为字符串时要删除这些部分:如果要切掉任何小数部分,请使用
long
return(long)(side1*side2)(同时更改方法签名)。或者,如果要对其进行取整,请使用数学.round()
DecimalFormat numberFormat = new DecimalFormat("#.#");