javascript - JavaScript/jQuery Math 是一个很难的四舍五入问题
问题描述
这个小问题让我很困惑。诚然,我很少使用数字,我不会吹嘘自己的数学技能,但我认为 22.68 x 3 应该是 68.04,但 JavaScript 坚持要四舍五入到 68.03999999999999。
它对 6 和 12 的乘法做同样的事情,但不是 9。
我编写了转换字符串的示例,因为这是我在我的应用程序中所做的,但如果我们使用数字,结果不会改变。
我找不到明确的解释,我希望我能对为什么会这样工作有所了解,这样我就可以避免将来犯错误。
谢谢你。
$(".canvas").on('click', ".button", function (e) {
var numOne = Number('22.68');
var numTwo = Number('3');
var mathIshard = numOne * numTwo;
$(".result").html(mathIshard);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='canvas'>
<div class='button'>
Click Me
</div>
<div class='result'>
result
</div>
</div>
解决方案
推荐阅读
- matlab - 将 .ods 工作表加载到 Octave 时出错
- javascript - React Native localeCompare 在 Android 上不起作用
- r - R中线性回归的引导标准误差
- java - 如何实现 Guava 缓存来存储和获取不同类型的对象?
- angular - 角 | 如何使用 ng-template 或任何方法将 ng-content/child 内容置于组件之外
- c# - 如何将带小数点的字符串转换为带小数点逗号的双精度?
- angular - Primeng - 如何在多选/下拉列表的标题中添加一个按钮?
- vb.net - 想要将文本框中的行添加到列表框中,如果它包含单词中的单词
- powershell - 在 PowerShell 中管理基于批处理的服务器
- dockerfile - ECS Fargate 日志文件位置