java四舍五入取整_java取整和java四舍五入方法
import java.math.BigDecimal;
import java.text.DecimalFormat;
public class TestGetInt{
public static void main(String[] args){
double i=2, j=2.1, k=2.5, m=2.9;
System.out.println("舍掉小数取整:Math.floor(2)=" + (int)Math.floor(i));
System.out.println("舍掉小数取整:Math.floor(2.1)=" + (int)Math.floor(j));
System.out.println("舍掉小数取整:Math.floor(2.5)=" + (int)Math.floor(k));
System.out.println("舍掉小数取整:Math.floor(2.9)=" + (int)Math.floor(m));
/* 这段被注释的代码不能正确的实现四舍五入取整
System.out.println("四舍五入取整:Math.rint(2)=" + (int)Math.rint(i));
System.out.println("四舍五入取整:Math.rint(2.1)=" + (int)Math.rint(j));
System.out.println("四舍五入取整:Math.rint(2.5)=" + (int)Math.rint(k));
System.out.println("四舍五入取整:Math.rint(2.9)=" + (int)Math.rint(m));
System.out.println("四舍五入取整:(2)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.1)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.5)=" + new DecimalFormat("0").format(i));
System.out.println("四舍五入取整:(2.9)=" + new DecimalFormat("0").format(i));
*/
System.out.println("四舍五入取整:(2)=" + new BigDecimal("2").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.1)=" + new BigDecimal("2.1").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.5)=" + new BigDecimal("2.5").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(2.9)=" + new BigDecimal("2.9").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("凑整:Math.ceil(2)=" + (int)Math.ceil(i));
System.out.println("凑整:Math.ceil(2.1)=" + (int)Math.ceil(j));
System.out.println("凑整:Math.ceil(2.5)=" + (int)Math.ceil(k));
System.out.println("凑整:Math.ceil(2.9)=" + (int)Math.ceil(m));
System.out.println("舍掉小数取整:Math.floor(-2)=" + (int)Math.floor(-i));
System.out.println("舍掉小数取整:Math.floor(-2.1)=" + (int)Math.floor(-j));
System.out.println("舍掉小数取整:Math.floor(-2.5)=" + (int)Math.floor(-k));
System.out.println("舍掉小数取整:Math.floor(-2.9)=" + (int)Math.floor(-m));
System.out.println("四舍五入取整:(-2)=" + new BigDecimal("-2").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.1)=" + new BigDecimal("-2.1").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.5)=" + new BigDecimal("-2.5").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("四舍五入取整:(-2.9)=" + new BigDecimal("-2.9").setScale(0, BigDecimal.ROUND_HALF_UP));
System.out.println("凑整:Math.ceil(-2)=" + (int)Math.ceil(-i));
System.out.println("凑整:Math.ceil(-2.1)=" + (int)Math.ceil(-j));
System.out.println("凑整:Math.ceil(-2.5)=" + (int)Math.ceil(-k));
System.out.println("凑整:Math.ceil(-2.9)=" + (int)Math.ceil(-m));
}
}
//_____________________________
舍掉小数取整:Math.floor(2)=2
舍掉小数取整:Math.floor(2.1)=2
舍掉小数取整:Math.floor(2.5)=2
舍掉小数取整:Math.floor(2.9)=2
四舍五入取整:(2)=2
四舍五入取整:(2.1)=2
四舍五入取整:(2.5)=3
四舍五入取整:(2.9)=3
凑整:Math.ceil(2)=2
凑整:Math.ceil(2.1)=3
凑整:Math.ceil(2.5)=3
凑整:Math.ceil(2.9)=3
舍掉小数取整:Math.floor(-2)=-2
舍掉小数取整:Math.floor(-2.1)=-3
舍掉小数取整:Math.floor(-2.5)=-3
舍掉小数取整:Math.floor(-2.9)=-3
四舍五入取整:(-2)=-2
四舍五入取整:(-2.1)=-2
四舍五入取整:(-2.5)=-3
四舍五入取整:(-2.9)=-3
凑整:Math.ceil(-2)=-2
凑整:Math.ceil(-2.1)=-2
凑整:Math.ceil(-2.5)=-2
凑整:Math.ceil(-2.9)=-2
===================================================
BigDecimal b = new BigDecimal(9.655 );
//double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("f1=" + f1);//f1=9.65
BigDecimal mData = new BigDecimal("9.655").setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("mData=" + mData);//mData=9.66
public BigDecimal(double val)
将double转换为BigDecimal,后者是double的二进制浮点值准确的十进制表示形式。返回的BigDecimal的标度是使(10scale× val)为整数的最小值。
注:
此构造方法的结果有一定的不可预知性。有人可能认为在 Java 中写入new BigDecimal(0.1)所创建的BigDecimal正好等于 0.1(非标度值 1,其标度为 1),但是它实际上等于 0.1000000000000000055511151231257827021181583404541015625。这是因为 0.1 无法准确地表示为double(或者说对于该情况,不能表示为任何有限长度的二进制小数)。这样,传入到构造方法的值不会正好等于 0.1(虽然表面上等于该值)。
另一方面,String构造方法是完全可预知的:写入new BigDecimal("0.1")将创建一个BigDecimal,它正好等于预期的 0.1。因此,比较而言,通常建议优先使用String构造方法。
当double必须用作BigDecimal的源时,请注意,此构造方法提供了一个准确转换;它不提供与以下操作相同的结果:先使用Double.toString(double)方法,然后使用BigDecimal(String)构造方法,将double转换为String。要获取该结果,请使用staticvalueOf(double)方法。
java四舍五入取整_java取整和java四舍五入方法相关推荐
- java运算四舍五入取整_java取整和四舍五入
java取整和四舍五入 舍掉小数取整:Math.floor(2.0)=2 舍掉小数取整:Math.floor(2.1)=2 舍掉小数取整:Math.floor(2.5)=2 舍掉小数取整:Math.f ...
- java的取整_Java取整方法总结
package com.hit; import java.math.BigDecimal; public class MathRounding { /** * * 项目名称: Java取整方法 * 包 ...
- java 取余和取整_Java取整、取余
参考链接:http://blog..net/wanlixingzhe/article/details/7359809 参考链接:http://bbs..net/topics/390677448(6楼) ...
- java除法取整_JAVA取整
舍掉小数取整:Math.floor(2.0)=2 舍掉小数取整:Math.floor(2.1)=2 舍掉小数取整:Math.floor(2.5)=2 舍掉小数取整:Math.floor(2.9)=2 ...
- mysql取余 和 取模_java 取模运算% 实则取余 简述 例子 应用在数据库分库分表
java 取模运算% 实则取余 简述 例子 应用在数据库分库分表 求模运算与求余运算不同."模"是"Mod"的音译,模运算多应用于程序编写中. Mod的含义为 ...
- java date sql和_Java.util.date 与 java.sql.date区别和转换
1.将java.util.Date转换为java.sql.Date java.sql.Date sd; java.util.Date ud; //initialize the ud such as u ...
- java语言编程基础_Java编程基础02——Java语言基础
1_(常量的概述和使用)* A:什么是常量(constant) 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常 ...
- java中string范围_java中long parseLong(String s)方法中string(十进制数字)的范围?
java中long parseLong(String s)方法中string(十进制数字)的范围? 來源:互聯網 2009-06-19 05:05:28 評論 分類: 電腦/網絡 >> ...
- java 获取区间随机数_Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...
最新文章
- 《Credit Risk Scorecard》第五章: Development Database Creation
- ServerBootstrap
- 实体类里的内部类怎么单独赋值_java你还在用各种setter赋值初始对象吗?用设计模式化简为易...
- en55032最新标准下载_欧盟多媒体设备CE认证将使用新标准EN55032
- c语言根号11取值两位小数,用C语言将一个数开根号后再取倒数的方法
- JAVA网站后台管理系统
- 如何选择适合的公共 DNS
- 浙大玉泉校区路由器L2TP设置(极路由1s)
- 大数据与云计算——Vmware虚拟化技术原理
- uiautomatorviewer详解
- 电子签约存证及印章管理整体化解决方案
- 路由器专用计算机,AUX端口常是通过专用连线与计算机连接,用来对路由器进行基本配置.._简答题试题答案...
- 互斥锁深度理解与使用
- python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo
- 2021-06-11 智能汽车和自动驾驶行业人才状态初探
- 猎杀对决与服务器连接中断,猎杀对决游戏常见问题汇总_猎杀对决游戏常见问题解决办法...
- 三种内存测试软件的使用说明
- 图一为下垂控制微电网模型。图二为电压电流双环控制器,图三为有 功和无功曲线
- 我的学习思维导图汇总
- php 正则 中文英文,php 验证只能输入汉字、英语、数字的正则表达式
热门文章
- Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
- WAP2.0移动互联(转)
- [问题解决][联想拯救者Y7000笔记本]笔记本开机黑屏,电源灯和键盘灯一闪一闪
- 基于JSP的公益网站设计与实现
- 申报高新技术企业必须要有自主知识产权吗?
- mysql 索引类型 ref_什么是索引?Mysql目前主要的几种索引类型
- leetcode:699. 掉落的方块【segmentTree + lazyTag + 区间修改区间查询经典版子】
- 劳务员报考建筑八大员报考劳务员建筑工程劳务合同管理的意义
- 电商产品设计:后台营销功能模块设计-砍价活动(二)
- 中传媒计算机考研复试流程,过来人考研复试经验谈:中传媒应用传播_跨考网...