搜索
首页web前端js教程Javascript浮点数乘积运算出现多位小数的解决方法_javascript技巧

Javascript在进行浮点数的乘积运算,会出现多位小数的情况。

这是由于在运算的时候先把浮点数转化成二进制后进行运算,但是有的小数在二进制编码后出现无限循环,因而导致计算出现了误差,在其它变成语言中也有类似的问题。

原因解释参考自百度知道:

例如:求1038.1-1000
1038.1=10000001110.0001100110011001100110011001100110011001100.....
1000 =1111101000

1038.1转化为二进制是个无限循环小数,1100是循环节,只能取近似值,误差就是这里产生的 如果浏览器版本高,可以用toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

解决方案:根据要保留的小数位数(如4),在计算乘积的时候先乘以(10^4),然后对计算结果除以(10^4),最后对结果取近似值Math.round

复制代码 代码如下:

var m1 = 2232.00,
percent = (10/100),
total = percent*m1;
alert(total);//223.20000000000002

total = Math.round(total*10)/10;
alert(total);//223.2
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php怎么将字符串转换成小数php怎么将字符串转换成小数Mar 22, 2023 pm 03:22 PM

PHP 是一门功能强大的编程语言,广泛应用于 Web 开发领域。其中一个非常常见的情况是需要将字符串转换为小数。这在进行数据处理的时候非常有用。在本文中,我们将介绍如何在 PHP 中将字符串转换为小数。

PHP浮点数四舍五入法PHP浮点数四舍五入法Mar 21, 2024 am 09:21 AM

这篇文章将为大家详细讲解有关PHP浮点数四舍五入法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP浮点数四舍五入法概述浮点数在计算机中表示为小数点后跟指数,然而,它们通常以有限位数的近似值存储。当需要将浮点数四舍五入到特定精度时,有几种方法可以实现。方法1.round()函数round()函数将浮点数四舍五入为最接近的整数。它接受浮点数和可选的精度参数。例如:$num=1.55;echoround($num);//输出:2echoround($num,1)

PHP浮点数计算误差原因及避免策略PHP浮点数计算误差原因及避免策略Feb 27, 2024 pm 06:33 PM

PHP作为一种流行的服务器端脚本语言,在进行浮点数计算时常常会遇到精度丢失或计算误差的问题,这些问题可能会对程序的准确性和稳定性造成影响。本文将探讨PHP浮点数计算误差的原因,并提出一些避免策略,同时给出具体的代码示例供参考。1.PHP浮点数计算误差的原因在计算机中,浮点数是以二进制形式表示的,而二进制并不能精确地表示所有的十进制小数,这就导致了浮点数的精

使用strconv.FormatFloat函数将浮点数转换为字符串使用strconv.FormatFloat函数将浮点数转换为字符串Jul 25, 2023 am 11:45 AM

使用strconv.FormatFloat函数将浮点数转换为字符串在Go语言中,我们经常需要将浮点数转换为字符串类型,用于输出或者存储等需求。Go语言中提供了strconv包,其中的FormatFloat函数可以将浮点数转换为字符串类型。FormatFloat函数有三个参数:f表示要转换的浮点数,fmt表示格式,以及prec表示要保留的小数位数。其中,f参数

深入浅出解析PHP BCMath:释放数字运算的潜力深入浅出解析PHP BCMath:释放数字运算的潜力Feb 23, 2024 am 09:10 AM

:一、BCMath简介BCMath是PHP内置的一个扩展库,专门用于处理大型整数和浮点数运算。它提供了丰富的函数来进行加、减、乘、除、平方、开方等各种数学运算,并且支持多种进制的数字表示。二、BCMath的优势BCMath相较于php原生提供的算术运算符和函数,主要有以下几个方面的优势:精度更高:BCMath的运算结果可以保留更多的有效数字,这对于涉及大数计算的场景尤为重要。范围更广:BCMath可以处理比PHP原生数据类型更大的数字,从而避免溢出或精度丢失的问题。功能更丰富:BCMath提供了

如何在PHP中将字符串转换为浮点数如何在PHP中将字符串转换为浮点数Mar 27, 2024 pm 12:48 PM

将字符串转换为浮点数是在PHP中常见的操作,可以通过内置的方法来实现。首先要确保字符串是合法的浮点数格式,才能成功地转换为浮点数。下面将详细介绍如何在PHP中将字符串转换为浮点数,并提供具体的代码示例。一、使用(float)强制转换在PHP中,将字符串转换为浮点数最简单的方式就是使用强制转换。强制转换的方式是在字符串前加上(float)即可,PHP会自动将其

如何使用C#中的Math.Truncate函数对浮点数进行向下取整如何使用C#中的Math.Truncate函数对浮点数进行向下取整Nov 18, 2023 pm 02:02 PM

如何使用C#中的Math.Truncate函数对浮点数进行向下取整,需要具体代码示例在C#编程中,经常会遇到需要对浮点数进行取整的情况。其中,向下取整是一种常见的操作,可以利用C#中的Math.Truncate函数实现。本文将详细介绍Math.Truncate函数的用法,并提供具体的代码示例。Math.Truncate函数是C#中的一个数学函数,用于将一个浮

使用C#中的Math.Round函数对浮点数进行四舍五入使用C#中的Math.Round函数对浮点数进行四舍五入Nov 18, 2023 pm 02:17 PM

使用C#中的Math.Round函数对浮点数进行四舍五入,需要具体代码示例在C#编程语言中,有时候我们需要对浮点数进行四舍五入操作。这时,我们可以使用Math.Round函数来实现此功能。Math.Round函数是C#中一个用于数学计算的内置函数,其主要功能是对指定的浮点数进行四舍五入。下面是Math.Round函数的常用格式:Math.Round(doub

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版