概念理解:


RoundingMode是一个枚举类,有一下几个常量:UP,DOWN,CEILING,FLOOR,HALF_UP,HALF_DOWN,HALF_EVEN,UNNECESSARY


UP:远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1


DOWN:向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)


CEILING:向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。


FLOOR:向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.DOWN;如果结果为负,则舍入行为类似于RoundingMode.UP。注意,此舍入模式始终不会增加计算值。


HALF_UP:向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。


HALF_DOWN:向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。如果被舍弃部分 > 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。


HALF_EVEN:向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为同RoundingMode.HALF_UP;如果为偶数,则舍入行为同RoundingMode.HALF_DOWN。注意,在重复进行一系列计算时,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对float 和double 算法使用的舍入策略。


UNNECESSARY:用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入。如果对生成精确结果的操作指定此舍入模式,则抛出 ArithmeticException。


test:

//java求取正弦函数的值public static void getThreeAgree(){//求正弦函数double d1=Math.sin(Math.PI/3);//大数字处理BigDecimal bd=new BigDecimal(d1);//四舍五入BigDecimal d2=bd.setScale(2, RoundingMode.HALF_UP);}

整体测试:

public static void getPassDess(){//sin30° =0.5;System.out.println("30度角的正弦值:"+new BigDecimal(Math.sin(Math.PI/6)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//cos60° =0.5;System.out.println("60度角的余弦值:"+new BigDecimal(Math.cos(Math.PI/3)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//tan45° =1;System.out.println("45度角的正切:"+new BigDecimal(Math.tan(Math.PI/4)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//正弦值为0.5对应的弧度是π/6≈0.5236,角度是30°;System.out.println("正弦值为0.5所对应的反正弦值(对应的弧度):"+new BigDecimal(Math.asin(0.5)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//余弦值为0.5对应的弧度是π/3≈1.047,角度是60°;System.out.println("余弦值为0.5所对应的反余弦值(对应的弧度):"+new BigDecimal(Math.acos(0.5)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//正弦值为0.5的弧度是π/4≈0.5236,角度是45°;System.out.println("正切值为1所对应的反正切值(对应的弧度):"+new BigDecimal(Math.atan(1)).setScale(2, RoundingMode.HALF_UP)+"(保留2为小数,四舍五入)");//正弦值为0.5对应的弧度是π/6≈0.5236,角度是30°;System.out.println("正弦值为0.5所对应的反正弦值(对应的角度):"+Math.toDegrees(Math.asin(0.5)));//余弦值为0.5对应的弧度是π/3≈1.047,角度是60°;System.out.println("余弦值为0.5所对应的反余弦值(对应的角度):"+Math.toDegrees(Math.acos(0.5)));//正弦值为0.5的弧度是π/4≈0.5236,角度是45°;System.out.println("正切值为1所对应的反正切值(对应的角度):"+Math.toDegrees(Math.atan(1)));System.out.println("将60度角转化为弧度:"+new BigDecimal(Math.toRadians(60)).setScale(2, RoundingMode.HALF_UP));System.out.println("将“六分之一π”弧度转化为角度"+new BigDecimal(Math.toDegrees(Math.PI/6)).setScale(2, RoundingMode.HALF_UP));}

虽然是基础,必须要牢记。

java里面的三角函数相关推荐

  1. Java 中的三角函数

    最近用到了一个java中的三角函数,发现中学的知识忘完了,这里结合java的三角函数方法重新复习一下. Math 类中:PI 代表180°对应的弧度. 三角函数:sin();cos(); tan(); ...

  2. java解三角函数方程_Java 中的三角函数

    最近用到了一个java中的三角函数,发现中学的知识忘完了,这里结合java的三角函数方法重新复习一下. Math 类中:PI 代表180°对应的弧度. 三角函数:sin();cos(); tan(); ...

  3. java中反三角函数怎么写,Java 数学三角函数正弦、余弦、正切以及反正弦、反余弦、反正切函数的使用...

    Java 数学三角函数正弦.余弦.正切以及反正弦.反余弦.反正切函数的使用 Java中数据三角函数在Math类里面有封装好的对应方法,正弦函数是sin方法,余弦函数是cos方法,正切函数是tan方法, ...

  4. java图像处理之实现任意角度图像旋转

    原理及步骤: 1.旋转角度:图像顺时针或逆时针旋转的角度,以θ表示,需要用户输入: 2.旋转中心:一般以图像中心作为旋转中心,周围像素围绕其旋转: 3.画布大小:由于图像旋转后产生的图像宽和高与原始图 ...

  5. Java趣味编程(二)

    第1章  变幻多姿的图表 图表简洁直观,在各种场合得到广泛应用,给人以很强的视觉冲击,经常让人难以忘怀.我们的程序中如果能够灵活地应用图表,一定能给我们的程序增色不少.本章将带你进入变换多姿的图表世界 ...

  6. Java中2.5D游戏(斜45度角)的设计与实现(1)

    通常的概念中,2D也就是所谓的二维,也就是平面图形--即由X与Y坐标构成的图形,其内容由水平的X轴向与垂直的Y轴描绘确定,也就是由长和高的形成所谓的二维平面. 而所谓3D,也称之为三维.其图形内容除了 ...

  7. 【编程】余 弦 曲 线

    1.问题描述 在屏幕上画出余弦函数cos(x)曲线,如图1.6所示. 2.问题分析 连续的曲线是由点组成的,点与点之间距离比较近,看上去就是曲线了,画图的关键是画出每个点.Java提供了三角函数方法, ...

  8. JAVA计算平方,幂运算,三角函数等

    JAVA中要想计算一个数值的平方根, 可以使用 sqrt 方法: double x = 4; double y = Math.sqrt(x); System.out.println(y); 在 Jav ...

  9. java计算器gui(有三角函数,幂运算)

    这个是真的简单的计算器,看到网上很多,现学了一些swing,时间紧,自己又菜,这个计算器,有很多限制,只能计算一些特别简单的计算,比如(2+3+4)是不行的,只能2+3,在网上我也看了很多计算器,但是 ...

最新文章

  1. Silverlight 游戏开发小技巧:角色升级特效
  2. 机器狗常州巡逻防疫,喊话“不扎堆不聚集”,网友:给孩子安个狗头吧
  3. wxWidgets:wxString类用法
  4. MYSQL 单表一对多查询,将多条记录合并成一条记录
  5. ionic4请求skynet服务器的资源跨域问题
  6. 腾讯WebQQ 3.0 密码、验证码加密算法分析
  7. 【C语言】求球的表面积和体积
  8. 三对角行列式计算(涉及等差数列的构造+一元二次方程两个解的关系)
  9. 寒武纪上半年营收1.7亿扣非后亏7.6亿 招银减持套现超3亿
  10. 孟岩:想抓住EOS的机会,从这四个方向入手吧!
  11. 前端的组件化和模块化
  12. PHP 技巧 * 附近的人功能实现
  13. the security of smart contract- 2
  14. 【go语言】两个翻译引擎来提高响应速度
  15. 破解加密狗之维达软件清单计价2008
  16. 计算机和网络设备为什么要接地,电子设备为什么要接地
  17. 迅雷7.9.8.4550 Ayu精简绿化版
  18. GNN博客-A Gentle Introduction to Graph Neural Networks
  19. 中达优控宏编译失败处理方法
  20. 人工智能行业数据防泄漏和设备加密该如何进行

热门文章

  1. [转载]C#操作符??和?:
  2. 有关php链接MySql数据库的总结
  3. Linux中让普通用户拥有超级用户的权限
  4. 谈谈对水晶报表的看法
  5. 逻辑盘下的所有目录完全共享_Python File I/O之读取路径下所有目录和文件
  6. mysql中加入正则表达式,mysql中的正则表达式搜索
  7. enityframework 已连接的当前状态为打开。_关于性能优化 从tcp建立连接amp;断开的视角...
  8. c# 打开的窗口显示在最前面_了解各种切换程序窗口的方法,提高工作效率
  9. 高级工程师java_Java从0到高级工程师
  10. 网站界面设计没有灵感,不妨去探索广袤的大自然!