×

Math.round()方法

前端技术网 前端技术网 发表于2024-01-21 00:59:01 浏览507 评论0

抢沙发发表评论

一、Math.round方法的理解

Math.round()函数返回一个数字四舍五入后最接近的整数。

如果参数的小数部分大于0.5,则舍入到相邻的绝对值更大的整数。如果参数的小数部分小于0.5,则舍入到相邻的绝对值更小的整数。如果参数的小数部分恰好等于0.5,则舍入到相邻的在正无穷(+c)方向上的整数。注意,与很多其他语言中的round()函数不同,

Math.round()方法

Math.round()并不总是舍入到远离0的方向(尤其是在负数的小数部分恰好等于0.5的情况下)。

即:参数的相邻整数区间向最接近的那个整数进行舍取,如果刚好在中间,那么取正无穷方向的那个整数;

ceil的英文意义是天花板,该方法就表示向上取整,

Math.round()方法

例子:

floor的英文意义是地板,该方法就表示向下取整,

例子:

floor的英文意义是地板,该方法就表示向下取整,

Math.abs(1.1)的结果为1.1,Math.abs(-1.1)的结果为1.1;

Math.random()返回0到1之间的伪随机数.

Math.cos(x)返回x的余弦值

Math.sin(x)返回x的正弦值

二、Java中怎样保留两位小数。是不是要用Math.round()啊

总的说来,我用了两中方式。

System.out.printf("f(%d)=%.2f\n",x,y);printf是java继承C来的,可以用c的方式来格式化输出。

还有就是java自己提供了更为丰富的格式化输出。用到Format,format是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。 Format定义了编程接口,用于将语言环境敏感的对象格式化为 String(使用 format方法)和将 String重新解析为对象(使用 parseObject方法)。数字

NumberFormat用于格式化输出数字,在java.text.包中,如果你有API,那就很简单的多了。

你**下去,运行一下,我测试的是

3

2=0.5

3=0.33

4=0.25

和你的要求一样。希望采纳。

import java.text.NumberFormat;

import java.util.Scanner;

public class Test

{

public static void main(String args[])

{

int repeat, ri,x;

double y;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

NumberFormat f=NumberFormat.getInstance();

f.setMaximumFractionDigits(2);

for(ri= 1; ri<= repeat; ri++)

{

x=in.nextInt();

/*---------*/

if(x!=0)

y=1.0/x;//还有在这里,是1.0/x,不然结果全是0.如果不懂,下面有连接,我回答的

else

y=0;

//System.out.println("f("+x+")="+y);

String s=f.format(y);

//System.out.printf("f(%d)=%.2f\n",x,y);

System.out.println("f("+x+")="+s);

//如果要得到你所说的,我建议用numberformat来格式化输出。

}

}

}

http://zhidao.baidu.com/question/390739373.html?old=1&afterAnswer=1#here

三、matlab中round函数具体用法

round函数

函数功能:四舍五入取整。

使用方法:B= round(A)

对数组A中每个元素朝最近的方向取整数部分,并返回与A同维的整数数组B,对于一个复数参量A,则分别对其实部和虚数朝最近的方向取整数部分,并返回一复数数据B。

例子:

ceil(x)返回不小于x的最小整数值(然后转换为double型)。

floor(x)返回不大于x的最大整数值。

round(x)返回x的四舍五入整数值。

#include<stdio.h>

#include<math.h>

int main(int argc, const char*argv[])

{

float num= 1.4999;

printf("ceil(%f) is%f\n", num, ceil(num));

printf("floor(%f) is%f\n", num, floor(num));

printf("round(%f) is%f\n", num, round(num));

return 0;

}

编译:$cc test.c-lm

执行:$./a.out

ceil(1.499900) is 2.000000

floor(1.499900) is 1.000000

round(1.499900) is 1.000000

Matlab中round()

应用举例:

a= [-1.9,-0.2, 3.4, 5.6, 7.0, 2.4+3.6i]

a=

Columns 1 through 4

-1.9000-0.2000 3.4000 5.6000

Columns 5 through 6

7.0000 2.4000+ 3.6000i

round(a)

ans=

Columns 1 through 4

-2.0000 0 3.0000 6.0000

Columns 5 through 6

7.0000 2.0000+ 4.0000i

四、Math.round()函数

Math.round(x)

如果参数的小数部分大于0.5,则舍入到下一个绝对值更大的整数

如果参数的小数部分小于0.5,则舍入到下一个绝对值更小的整数

如果参数的小数部分恰好等于0.5,则舍入到下一个在正无穷方向上的整数。

注意:与很多其他语言中的round()函数不同,Math.round()并不总是舍入到远离0的方向

(尤其是在负数的小数部分恰好等于0.5的情况下)

---Every day to be a little better---

好了,关于Math.round()方法和Math.round()函数的问题到这里结束啦,希望可以解决您的问题哈!