在 Javascript 中,四舍五入用 Math.round() 和 toFixed() 方法实现;前者只能取到整数部分,小数全部舍弃,如果要保留小数位,还得加些辅助代码;后者可任意保留小数位。下面先介绍 Math.round() 和 toFixed() 的简单用法,再介绍把它们位封装成可直接调用的方法。

一、js四舍五入的方法

1、方法:

Math.round(d);//d 为任意有效数值

NumberObject.toFixed(len);//len 为要保留的小数位数

2、Math.round 示例(取整):

Math.round(2.4);//输出:2

Math.round(2.5);//输出:3

Math.round(2.44);//输出:2

Math.round(2.54);//输出:3

Math.round(2.455);//输出:2

从输出结果可以看出,round() 方法只看小数点后的数是否大于等于5;如果是,则向前进1;如果不是,不管后面是否大于等于5都不向前进1。

3、NumberObject.toFixed 示例(保留指定小数位数):

var num = 2.4893;

num.toFixed(2);//保留2位小数,输出:2.49

num.toFixed(3);//保留3位小数,输出:2.489

num.toFixed(1);//保留1位小数,输出:2.5

二、js四舍五入返回整数时不保留小数位

Math.round()本身无法保留小数位,所以要实现保留指定的小数位(如2位,3位等),还要加几名代码,实现方法如下:

//取得整数时,不保留小数位,如,2.999,保留2位小数,返回 3

//num:待四舍五入数值,len:保留小数位数

function GetRound(num, len) {

return Math.round(num * Math.pow(10, len)) / Math.pow(10, len);

}

调用方法:

GetRound(2.999, 2);//保留2位小数,返回 3

GetRound(2.989, 2);//保留2位小数,返回 2.99

三、js四舍五入任何情况下都保留小数位

//保留小数位的四舍五入,如,2.999,保留2位小数,返回 3.00

//num:待四舍五入数值,len:保留小数位数

function GetRoundDd(num, len) {

return num.toFixed(len);

}

调用方法:

GetRoundDd(2.999, 2);//保留2位小数,返回 3.00

GetRoundDd(2.989, 2);//保留2位小数,返回 2.99

为了便于调用,分别把js四舍五入的语句封闭成了方法,如果返回整数时不需要保留小数位,则调用第二点的方法 GetRound(num, len);如果任何情况下都要求保留小数位,则调用第三点的方法 GetRoundDd(num, len)。

c语言四舍五入任意位,js四舍五入及任意保留小数位相关推荐

  1. php百分比四舍五入两位,php四舍五入保留两位小数有哪些实现方法

    php四舍五入保留两位小数有哪些实现方法 发布时间:2020-08-06 10:12:55 来源:亿速云 阅读:96 作者:Leah 本篇文章给大家分享的是有关php四舍五入保留两位小数有哪些实现方法 ...

  2. C语言试题二十五之编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数)。

    1. 题目 编写一个函数float function(double h),函数的功能使对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值位正数). 2 .温馨提示 C语言试题汇总里可用于 ...

  3. JS 四舍五入保留两位小数

    Html 四舍五入保留两位小数: Html: <input type="number" step=".01" id="amount" ...

  4. js四舍五入并保留两位小数

    js四舍五入并保留两位小数 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家.大家及时保存,说不定啥时候就 ...

  5. (js)三位用逗号隔开,保留指定位小数(or 四舍五入取整)

    三位用逗号隔开,保留两位小数 //num 需要处理的数据//dight 保留的小数位handleNum(num,dight){//(1)保留指定位小数var dot = String(num).ind ...

  6. js实现个任意位正小数,向上进位

    源起 Math相关的api有很大的局限,对于一些精细化的计算,显示的无能为力!引入第三方库,因为种种原因,不是很合适,所以还是自己实现一个 思路 初看标题好抽象,完全不知道如何下手,可能读懂标题都难. ...

  7. python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结

    在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢? 文章目录 一.小数点后取2位(四舍五入)的方法 方法一 ...

  8. 输入金额校验(数字非负数保留2位不四舍五入)

    场景用于支付时,输入金额,限制只能输入非负数,保留2位小数,且不四舍五入 如果你的input不是number类型需要先处理一下number类型 以下举例环境 vue3 + vant-ui 请自行根据实 ...

  9. integer最后一位四舍五入_解决toFixed四舍五入陷阱

    解决toFixed四舍五入陷阱 类别: 技术·JS 时间:2018-05-13 01:19:43 字数:4283 版权所有,未经允许,请勿转载,谢谢合作~ ### 四舍五入的不公平 四舍五入是一种精确 ...

最新文章

  1. @RequestMapping参数详解
  2. [转载]Shark Machine Learning Library --之运行篇
  3. idea下git log乱码问题
  4. 如何吧汇编语言转换为c语言,如何把汇编语言转换成C语言
  5. a = a + 1, a++, ++a ,a+=1区别在哪
  6. 省中心IEPGM同步到地市的IEPGM有问题,中心为“已商用”状态,地市为“已上架”状态
  7. IOS 10.3.3 越狱
  8. 汉语语言分析(2) - 短语
  9. 人脸识别技术全面总结
  10. 【工程光学】理想光学系统
  11. 手游模拟器里也可以用C++实现 特征码遍历
  12. 学生选课系统业务需求
  13. 用友u8服务器无法自动启动,u8服务有的没有启动,启动服务,没有反应-用友U8...
  14. 添加权限,获取到用户信息,就用户当前部门进行下拉选择
  15. 解决windows2012server中80端口被占用
  16. 微信小程序怎么上架和发布商品?
  17. 腾讯内部转岗_如何一句话证明你在腾讯工作过
  18. 2016-ICLR-Order Matters- Sequence to sequence for sets
  19. 洧 誰 理 夲 亾 と 杺
  20. 从万物静默到声情并茂:百度输入法的AI发声计划

热门文章

  1. java毕业设计生产管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  2. Linux-定时任务(备份)-进程管理-后台screen管理-ssh
  3. 电脑卡怎么办?电脑卡是什么原因该怎么处理?
  4. 小P的故事——神奇的Dota
  5. php 随机数抽奖代码,php 抽奖概率 随机数 Web程序 - 贪吃蛇学院-专业IT技术平台...
  6. 建立个人网站1:腾讯云域名购买,域名解析以及使用GitHub初步搭建网站
  7. 为什么叫随机存取存储器(Random Access Memory)?
  8. 新生儿用母乳如何喂养
  9. 英特尔问题产品可无条件退换 或致硬盘光驱失灵
  10. linuxonandroid ubuntu12.04-v4-core启动文件(N7100 Android 4.3)