数值类型之间的转换

数值类型之间的转换,在小数值往大数值转换时,不会发生精度的损失。在小数值往大数值转换时有可能发生精度的损失。

比如byte最大值也只有127,如果一个大于127的int类型数据往byte转换肯定是不行的,但是往long类型转换就完全没问题了。

在我们进行一些两种不同数值类型之间的数值运算时,先要将两个操作数转换为同一种类型,然后再计算。

具体转换为那种类型,得看他们的取值。

可以参考https://www.cnblogs.com/lbhym/p/11122716.html

如下图。实心箭头表示无信息丢失,虚线代表有可能有精度损失。

注:《Java核心技术 卷1》

强制类型转换

除了Java自己会进行类型转换。比如int+double,系统会把结果转换为double。

我们有时候需要手动转换一些类型。

语法如下:

double x=9.997;
int nx=(int) x;

只需要在前面加个小括号,小括号里面写上目标类型就行。

最后nx=9。

如果你需要舍入,可以用Math.round方法

double x=9.997;
int nx=(int)Math.round(x);

nx=10;

这里注意,round方法返回的是long类型数据,所以你还是只需要int类型数据时,需要再强转一下。

最新文章

  1. linux文件及文件夹权限
  2. Unity Animation System(动画系统)
  3. c#跨线程访问控件帮助类
  4. linux pidof
  5. mybatis进阶
  6. javascript中||和&&代替if
  7. Android Studio配置Git及Git文件状态说明
  8. unity 协同
  9. C#程序中访问配置文件
  10. sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法
  11. UVa 536 Tree Recovery | GOJ 1077 Post-order (习题 6-3)
  12. python 使用paramiko模块上传本地文件到ssh
  13. iOS UITableView的多选
  14. 无用代码清除tip
  15. Window 下mysql binlog开启及查看,mysqlbinlog
  16. Windows下利用MKL加速caffe,与openblas比较
  17. c# ASP.NET Core2.2利用中间件支持跨域请求
  18. PHP文件系统管理
  19. PHP微信模板消息发送
  20. JS-JS创建数组的三种方法

热门文章

  1. Msfvenom命令总结大全
  2. [BZOJ3449] [Usaco2014 Feb]Secret Code
  3. [BZOJ1694/1742/3074]The Cow Run 三倍经验
  4. php反序列化漏洞复现
  5. python日记:用pytorch搭建一个简单的神经网络
  6. selenium-find_element相关内容(2)
  7. python中使用logging将日志写入文件或输出到控制台
  8. 算法问题实战策略 QUADTREE
  9. httprunner-1-linux下搭建hrun(上)
  10. Spring Boot项目中如何定制拦截器