文档章节

java中的四舍五入——几种四舍五入的写法

霜叶情
 霜叶情
发布于 2018/04/20 21:49
字数 225
阅读 23
收藏 10

// 方式一:BigDecimal方式

double f = 3.1315;

BigDecimal b = new BigDecimal(

new Double(f).toString

);

double f1 = b.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();

注意:这里一定不要直接使用new BigDecimal(double)的构造方法, 而要使用new BigDecimal(new Double(1.1315).toString())的方式,不然会出现精确问题

// 方式二:DecimalFormat方式

//DecimalFormat默认采用了RoundingMode.HALF_EVEN这种类型,而且format之后的结果是一个字符串类型String

DecimalFormat df = new DecimalFormat("#.000");

System.out.println(df.format(new BigDecimal(1.0145)));//1.014

System.out.println(df.format(new BigDecimal(1.1315)));//1.132

// 方式三:

double d = 3.1415926;

String result = String.format("%.2f", d);

// %.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

//方法四:传统的Math.round四舍五入,改为支持指定精确位数的写法

Math.round(5.2644555 * 100) * 0.01d;

private static double myRound(double number,int index){

      double result = 0;

      double temp = Math.pow(10, index);

      result = Math.round(number*temp)/temp;

      return result;

© 著作权归作者所有

下一篇: easyui排序
霜叶情
粉丝 4
博文 102
码字总数 67306
作品 0
长沙
私信 提问
Java Double相加出现的怪事

问题的提出: 编译运行下面这个程序会看到什么 [java] view plaincopy public class test { public static void main(String args[]) { System.out.println(0.05 + 0.01); System.out.print......

onedotdot
2017/11/05
0
0
浅谈Java中的几种随机数

众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。 我们从书本上学到什...

彭博
2012/11/27
473
0
浅谈Java中的几种随机数

众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。 我们从书本上学到什...

迷途d书童
2012/03/21
44.1K
14
关于double类型精度问题

double定义一个变量a = 2.0-1.1 计算机用二进制无法精确表示1/10,所以java中打印出的结果是0.899999 但是为什么c语言下打印出得就是0.900000 ? 难道是 java中舍弃精度以后的位,但是C语言中...

党玉涛
2013/03/23
83
1
AS3 基本数据类型 primitive data type

int(带符号,32位整型,-2147483648~2147483647), uint(无符号,32位整型,0~2147483647), Number(64位,双精度浮点型,-1.79e+308~-5e-324,0,5e-324~1.79e+308), String(UTF-16,Unicode), Boolea......

smilethat
2012/03/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CAP和BASE理论

CAP和BASE理论 CAP理论和BASE理论是分布式系统的“基石”,论述了分布式系统的能力边界。 CAP理论 CAP理论指出对于一个分布式数据存储系统中,不可能同时满足以下三点: 一致性(Consistency...

陶小陶
26分钟前
2
0
库克称未来十年这项技术非常重要

苹果全球WWDC奖学金得主小型交流会召开,此次交流会共有来自全球的12名WWDC19奖学金获得者参与,其中有两名中国开发者。两名年轻的中国学生在自己的应用设计中都利用了苹果的ARKit工具,通过...

linuxCool
36分钟前
3
0
使用Navicat连接阿里云服务器宝塔面板里创建的数据库

今天试着使用了Navicat去连接阿里云轻量服务器的数据库,报10060错误,解决方法如下: 数据库设置【权限】为 “所有人”,之后进行下一步的设置: 在宝塔的【安全】选项 -> 【防火墙】->放行...

htdp
39分钟前
1
0
git强制覆盖本地命令

git强制覆盖: git fetch --all git reset --hard origin/master git pull git强制覆盖本地命令(单条执行): git fetch --all && git reset --hard origin/master && git pull...

chenhongjiang
52分钟前
4
0
10分钟详解Spring全家桶7大知识点

Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包括SpringMVC、SpringBoot、Spring Cloud、Spring Cloud Dataflow等解决方案。 很多研发人员把spring看作心目...

peakedness丶
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部