返回顶部
首页 > 资讯 > 精选 >js四舍五入
  • 690
分享到

js四舍五入

2023-07-10 16:07:37 690人浏览 薄情痞子
摘要

js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。1 、tofixed方法toFixed() 方法可把 Number 四舍五入为指定小数位

js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。

js四舍五入

1 、tofixed方法

toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。例如将数据Num保留2位小数,则表示为:toFixed(Num);但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。具体规则如下:

简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

显然这种规则不符合我们平常在数据中处理的方式。为了解决这样的问题,可以自定义去使用Math.round方法进行自定义式 的实现指定保留多少位数据进行处理。

2 、round方法

round() 方法可把一个数字舍入为最接近的整数。例如:Math.round(x),则是将x取其最接近的整数。其取舍的方法使用的是四舍五入中的方法,符合数学中取舍的规则。对于小数的处理没有那么便捷,但是可以根据不同的要求,进行自定义的处理。

例如:对于X进行保留两位小数的处理,则可以使用 Math.round(X * 100) / 100 进行处理。

其它内容:

javascript 中,对数值进行四舍五入操作的场景有以下几种:

向上取整:ceil向下取整:floor四舍五入:round固定精度:toFixed固定长度:toPrecision取整:parseInt、位运算

本文将对这 6 个 api 进行简单的讲解和总结

向上取整: ceil

ceil 是`天花板`的意思,表示在一个数值之上,且距离该数最近的整数。ceil 是 Math 对象的静态方法,需要传递一个参数,其调用方法如下:

Math.ceil(12.34); //13Math.ceil(12.68); //13

向下取整: floor

floor 是`地板`的意思,表示在一个数值之下,且距离该数最近的整数。floor 是 Math 对象的静态方法,需要传递一个参数,其调用方法如下:

Math.floor(12.34); // 12Math.floor(12.68); // 12

四舍五入: round

round 的作用是对一个浮点数进行四舍五入,并保留整数位。round 也是 Math 对象的静态方法,也需要传递一个参数,其调用方法如下:

Math.round(12.34); // 12Math.round(12.54); // 13

固定精度: toFixed

toFixed 和上面三个方法不同,它是 Number 原型上实现的一个方法,其作用是对一个浮点数进行四舍五入并保留固定小数位。 toFixed 需要传递一个参数,其调用方式如下:

456001.toFixed(2); // 100.46100.456001.toFixed(3); // 100.456

固定长度: toPrecision

toPrecison 也是 Number 原型上实现的一个处理浮点数的方法,和 toFixed 不同的是,它是对一个浮点数进行四舍五入并保留固定长度的有效数字,包括整数部分。

456001.toPrecision(5); // 99.456100.456001.toPrecision(5); // 100.46

6、取整: parseInt

parseInt 是 全局对象 window上的一个方法,其作用是对一个可转换的数值取整,分为以下两种情况:

字符串数值转化为 Number 整数,对字符串的每一个字符进行转化,直到遇到不可转化的字符(包括小数点)停止。

对浮点类型数值取整,忽略小数部分,不做四舍五入处理

// 字符串数值parseInt('100') ; // 100parseInt('100axt'); // 100parseInt('100xh20'); // 100parseInt('100.78'); // 123// Number 类型parseInt(100.12) ; // 100parseInt(100.78); // 100

取整: 位运算

| 0 : 和 0 进行 按位或 操作,原值不变~~ : 两次 按位非 操作得到的也是原值>> 0 : 右移 0 位<< 0 : 左移 0 位>>> 0: 无符号右移 0 位

这些位运算符在实现取整操作时,会表现出一些共同的特征:

对于 Number 类型来说,直接应用位操作, 和 parseInt 得到的结果几乎一样;对于其他类型,内部会先通过 Number() 将其转换为一个数值,然后再应用位操作。对特殊 NaN 和 Infinity 值应用位操作时,这两个值都会被当成 0 来处理 。

对于 Number 类型,直接应用位运算。

~~ 100.12; // 100100.78 | 0; // 100100.45 >> 0; // 100100.50 << 0; // 100100.96 >>> 0; // 100

对于其他类型,先使用 Number() 转换为数值类型,再进行位运算。

~~ '100.12' // 100, Number('100.12') == 100.12'100.50' >> 0; // 100,Number('100.50') == 100.50'100.96' << 0; // 100,Number('100.96') == 100.96~~ 'abc' // 0 , Number('abc') == NaN'12abc' >> 0; // 0, Number('12abc') == NaNundefined | 0 ; // 0, Number(undefined) == NaN~~null; // 0 , Number(null) == 0true >> 0; // 1 , Number(true) == 1false >> 0; //0 , Number(false) == 0[] << 0; // 0 , Number([]) == 0~~NaN; // 0 Infinity >>> 0; // 0

位运算作用于最基本的层次上,即按内存中表示数值的位来操作数值。

位运算能取整的原因是:

ECMAScript 中的数值以64位双精度浮点数存储,但位运算只能作用于整数,因此要先将 64 位的浮点数转换成 32 位的整数,然后再进行位运算,最后再将计算结果转换成64位浮点数存储。

以上就是js四舍五入的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: js四舍五入

本文链接: https://www.lsjlt.com/news/359298.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js四舍五入
    js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。1 、tofixed方法toFixed() 方法可把 Number 四舍五入为指定小数位...
    99+
    2023-07-10
  • js如何实现四舍五入
    JavaScript中对小数进行四舍五入处理可以使用 toFixed() 方法,toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。JavaScript中对小数进行四舍五入处理可以使用 toFixed() 方法,toF...
    99+
    2023-07-10
  • oracle如何四舍五入
    Oracle中提供了多个函数用于四舍五入,具体如下: ROUND函数:该函数将一个数值四舍五入到指定的小数位数。语法如下: RO...
    99+
    2024-04-09
    oracle
  • js四舍五入的实现方法有哪些
    1. 使用Math.round()函数进行四舍五入。该函数会将一个数字四舍五入为最接近的整数。2. 使用toFixed()函数进行四...
    99+
    2023-06-12
    js四舍五入 js
  • JS四舍五入取整的代码怎么写
    本篇内容介绍了“JS四舍五入取整的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!如何在javascript中将整数显示为十分之一M...
    99+
    2023-06-26
  • C#四舍五入MidpointRounding.AwayFromZero解析
    目录C#四舍五入MidpointRounding.AwayFromZeroC#四舍五入以及保留小数位的方法C#实现保留两位小数的方法C#保留小数点后几位C#保留小数位N位四舍五入C#...
    99+
    2023-05-18
    C#四舍五入 MidpointRounding.AwayFromZero 四舍五入
  • Java取整与四舍五入
     四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了。在讲解之间我们先看如下一个经典的案例: public static void ma...
    99+
    2024-04-02
  • PHP保留两位小数并且四舍五入及不四舍五入的方法
    php保留两位小数并且四舍五入 复制代码 代码如下: $num = 123213.666666; echo sprintf("%.2f", $num); php保留两位小数并且不四...
    99+
    2022-11-15
    保留两位小数 四舍五入
  • wps怎么四舍五入取整
    在WPS中,可以使用ROUND函数进行四舍五入取整操作。ROUND函数的基本语法为:ROUND(number, num_digits...
    99+
    2023-10-18
    wps
  • ​SQL查询怎么四舍五入
    在 SQL 中,可以使用 ROUND 函数来进行四舍五入。语法如下:ROUND(expression, decimal_places...
    99+
    2023-10-18
    ​SQL
  • python实现四舍五入方式
    目录python实现四舍五入python实现整数四舍五入第一个方法第二个方法总结python实现四舍五入 """ 四舍五入 :param - dic...
    99+
    2023-01-28
    python实现四舍五入 python四舍五入 四舍五入
  • c语言如何四舍五入
    在C语言中,可以使用`round()`函数来进行四舍五入。`round()`函数的原型如下:```cdouble round(dou...
    99+
    2023-08-23
    c语言
  • javascript怎么进行四舍五入
    在JavaScript中,可以使用Math.round()方法来进行四舍五入操作。例如: var num = 10.6; var r...
    99+
    2024-03-06
    javascript
  • PHP浮点数四舍五入法
    这篇文章将为大家详细讲解有关PHP浮点数四舍五入法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 浮点数四舍五入法 概述 浮点数在计算机中表示为小数点后跟指数,然而,它们通常以有限位数的近似值存储。...
    99+
    2024-04-02
  • c语言怎么四舍五入
    四舍五入数字包含以下步骤:1. 确定舍入位数。2. 将数字转换为浮点数。3. 乘以 10 的倍数(如四舍五入到整数,则乘以 10)。4. 使用取整函数(如 round())将浮点数转换为...
    99+
    2024-05-15
    c语言
  • php怎么不四舍五入取整
    本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。php怎么不四舍五入取整?php进一法取整代码如下:echo ceil(4.3); // 5 echo ceil(9.999); // 10php舍去法,取整数代码如下:...
    99+
    2021-10-07
    php
  • php如何取整不四舍五入
    这篇文章给大家分享的是有关php如何取整不四舍五入的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在php中可以使用floor函数进行取整并且不会四舍五入,该函数的语法格式是“float floor (float ...
    99+
    2023-06-15
  • C#四舍五入的4种方法
    在C#中,有多种方法可以实现四舍五入。以下是四种常用的方法:1. Math.Round() 函数:Math.Round() 函数可以...
    99+
    2023-09-28
    C#
  • php中怎么实现四舍五入
    这篇文章主要介绍“php中怎么实现四舍五入”,在日常操作中,相信很多人在php中怎么实现四舍五入问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中怎么实现四舍五入”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-25
  • php如何不四舍五入取整
    这篇文章主要介绍了php如何不四舍五入取整,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php不四舍五入取整的方法:1、通过ceil()方法实现进一法取整;2、通过floor...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作