JavaScript解决精度问题

Posted leijing0607

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript解决精度问题相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Document</title>
		<script type="text/javascript" src="math.js"></script>
	</head>

	<body>
		<script type="text/javascript">
			alert(math.sqrt(-4)); // 2i
			math.round(math.e, 3); // 2.718
			math.atan2(3, -3) / math.pi; // 0.75
			math.log(10000, 10); // 4
			math.sqrt(-4); // 2i
			math.pow([
				[-1, 2],
				[3, 1]
			], 2); // [[7, 0], [0, 7]]

			// expressions
			alert(math.eval(‘12 / (2.3 + 0.7)‘)); // 4
			math.eval(‘12.7 cm to inch‘); // 5 inch
			math.eval(‘sin(45 deg) ^ 2‘); // 0.5
			math.eval(‘9 / 3 + 2i‘); // 3 + 2i
			math.eval(‘det([-1, 2; 3, 1])‘); // -7
			/*默认精度设置为64位*/
			math.config({
				number: ‘BigNumber‘,
				precision: 64
			});
			alert(math.eval(‘0.1+0.2‘));
			/*包含開始,去掉結尾*/
			alert(math.range(1, 4));

			console.log(math.add(0.1, 0.2)) //0.30000000000000004
			console.log(math.format((math.add(math.bignumber(0.1), math.bignumber(0.2))))) //‘0.3‘

			/*纯JavaScript代码解决*/
			parseFloat((数学表达式).toFixed(digits)); // toFixed() 精度参数须在 0 与20 之间
			parseFloat((0.1 + 0.2).toFixed(10)) //结果为0.3
			parseFloat((0.3 / 0.1).toFixed(10)) // 结果为 3  
			parseFloat((0.7 * 180).toFixed(10)) //结果为126
			parseFloat((1.0 - 0.9).toFixed(10)) // 结果为 0.1   
			parseFloat((9.7 * 100).toFixed(10)) // 结果为 970 
			parseFloat((2.22 + 0.1).toFixed(10)) // 结果为 2.32
		</script>
	</body>

</html>

math.js

http://cdnjs.cloudflare.com/ajax/libs/mathjs/3.20.1/math.js

以上是关于JavaScript解决精度问题的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript解决精度问题

js乘法精度计算代码 求解释

js精度计算

解决JavaScript浮点数计算精度问题

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

JavaScript 大整数相加后精度 如何解决