文档章节

Java实现浮点数的四舍五入,保留几位小数

小贱是个程序员
 小贱是个程序员
发布于 2016/11/20 10:49
字数 244
阅读 261
收藏 0

直接上代码,很简短

1

2

3

4

5

6

7

8

double myRound(double d,int n)

{

    d = d*pow(10,n);

    d += 0.5;

    d = (long)d;

    d = d/pow(10,n);

    return d;

}

上述代码中的d是我们要进行四舍五入的浮点数,n是我们要保留的小数点后位数。 
四舍五入,主要靠这两行代码实现

1

d += 0.5; d = (long)d;

强制类型转换,会直接舍去小数点后的数字,而先对d进行加0.5操作,则是为了四舍五入,比如4.1,加0.5后变为4.6,强转,舍去小数部分,变为4;又如5.7,加0.5后变为6.2,强转,舍去小数部分,变为6。

保留n位小数,主要靠

1

d = d*pow(10,n);

1

d = d/pow(10,n);

比如对,62.164保留2位小数,先乘10的二次方,为6216.4,四舍五入位6216,在除以10的二次方,为62.16。

© 著作权归作者所有

共有 人打赏支持
小贱是个程序员
粉丝 3
博文 42
码字总数 18418
作品 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
BigDecimal加减乘除运算

Java代码 import java.math.BigDecimal; /** * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精 * 确的浮点数运算,包括加减乘除和四舍五入。 */ public class Arith{ /...

永爱619
2015/08/27
0
0
Java中浮点型数据Float和Double进行精确计算的问题

一、浮点计算中发生精度丢失 大概很多有编程经验的朋友都对这个问题不陌生了:无论你使用的是什么编程语言,在使用浮点型数据进行精确计算时,你都有可能遇到计算结果出错的情况。来看下面的...

Junn
2013/06/10
0
1
怎么使float保留两位小数或多位小数

怎么使float保留两位小数或多位小数 两种方法: import java.math.*; …… 方法1: float f = 34.232323; BigDecimal b = new BigDecimal(f); float f1 = b.setScale(2, BigDecimal.ROUND_H......

IT_小翼
2013/01/16
0
0
java.math.BigDecimal保留两位小数,保留小数,精确位数

java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUNDHALFUP): 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigD...

vshcxl
2016/10/27
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

ajax 提交返回map集合 获取不到值

后台java代码 @RequestMapping("/cameraList") @ResponseBody public Map<String, Object> cameraListForPage(@RequestParam(defaultValue = "1", value = "page") Integer page......

S三少S
16分钟前
26
1
TypeScrip最污的技术课-技术胖TypeScript图文视频教程

近日Node.js之父瑞安达尔(Ryan Dahl)发布新的开源项目 deno,从官方介绍来看,可以认为它是下一代 Node,使用 rust 语言代替 C++ 重新编写跨平台底层内核驱动,上层仍然使用 V8 引擎,最终...

JamesView
18分钟前
5
0
Es学习笔记

1.过滤排重聚合查询 筛选出某一个聚合值的个数统计。相当于mysql的distinct. 关键字:cardinality "aggs": { "2":{ "cardinality": { "field": "field" } ...

Gmupload
21分钟前
1
0
h5语义化标签

语义化HTML:用最恰当的HTML元素标签做恰当的事情。 优点: 提升可访问性; SEO; 结构清晰,利于维护; 通用容器:div——块级通用容器;span——短语内容无语义容器。 <title></title>:简...

莫西摩西
27分钟前
1
0
修改11g rac中 asm diskstring的发现路径

问题 : 如果我 们asm_disking以前是/dev/oracleasm/disks/* ,并且现在已经有磁盘组再用这个磁盘串了,那么,我们无法直接修改这个发现串为 ORCL:*,修改会报错,提示存在的磁盘无法使用新的...

tututu_jiang
30分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部