一种JavaScript里小数的精确计算方式
<html>
<script type="text/javascript">
/*题目描述
求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
输入例子:
multiply(3, 0.0001)
输出例子:
0.0003String.prototype.substring()(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/substring)Number.prototype.toFixed()(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed)// 推荐写法
*/
function multiply(a, b) {a = a.toString();b = b.toString();var aLen = a.substring(a.indexOf('.') + 1).length;var bLen = b.substring(b.indexOf('.') + 1).length; return (a * b).toFixed(Math.max(aLen, bLen));/* 本题未说明保留小数位数, 这里假定得出的结果不含多余的0, 即0.0003000...需转成0.0003 */
}console.log( "Solution:" + multiply( 3, 0.0001 ));
console.log( 3 * 0.0001 );console.log( "Solution: " + multiply( 3.0001, 0.0002 ));
console.log( 3.0001 * 0.0002 );
</script>
</html>
一种JavaScript里小数的精确计算方式相关推荐
- 目标检测中的几种交并比( IoU )计算方式
目录 1.原始 IOU 的计算方式 2.GIOU(Generalized IOU) 2.DIoU(Distance-IoU) 3.CIOU(Complete-IoU) IoU 即 Intersecti ...
- FPS最精确计算方式
使用时钟计算时间,更加精确 cv2.getTickCount()函数返回一个参考时间开始到这个函数被调用的时间的时钟循环数量 如果在你函数执行前调用一次,函数执行完调用一次,就能得到韩式执行用掉的时钟 ...
- java 小数精确_Java中小数精确计算
小数精确计算 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是 0.9,而是一连串的小数.问题在于1.1这个数字不能被精确 ...
- java算小数_Java 小数精确计算问题
Java 小数精确计算问题 System.out.println(2.00 -1.10);//0.8999999999999999 上面的计算出的结果不是0.9,而是一连串的小数.问题在于1.1 这个 ...
- 7 种 Javascript 常用设计模式学习笔记
7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...
- java.math.BigDecimal保留两位小数,保留小数,精确位数
http://blog.csdn.net/yuhua3272004/article/details/3075436 使用java.math.BigDecimal工具类实现 java保留两位小数问题 ...
- 第二章 Java浮点数精确计算
1.实际意义 在实际开发中,如果需要进行float或double的精确计算(尤其是财务计算),直接使用float或double是不行的(具体的例子看下边的代码的main方法的测试结果),需要使用Big ...
- 网格自适应_网格自适应的 2 种方法——实现更高效的计算
网格自适应的目标是修正网格以更有效地解决问题. 通常,我们希望使用尽可能少的单元来获得精确的解:并希望在不太重要的区域使用较粗糙的网格,而在感兴趣的区域使用较精细的网格.有时,我们甚至可能会考虑各向异 ...
- 向下保留两位小数以及精度计算
php向下保留两位小数有以下几个办法 这里先介绍下传统的php的保留两位小数, 我们以$num = 1.269为例子.我们是想得到1.26这样的数字. 然后再说明我写这篇文档的必要性 一.传统的保留两 ...
最新文章
- 贪心 ---- C. Anu Has a Function位运算+贪心证明
- as3直接播放flv基本代码
- iOS实现自定义的弹出视图(popView)
- hdfs namenode -format 初始化创建不了目录的问题
- SQL 2005 全文索引
- 产品经理与项目经理的区别
- J2EE开发工作中遇到的异常问题及解决方法总结
- ios布局 分为左右两块_安卓手机一年后卡顿,原因是安卓系统太开放了,改走iOS封闭之路...
- 2020软考软件设计师--基础知识培训视频-任铄(小任老师)-专题视频课程
- 【松鼠科学会】头脑练功房:冥想真的有效吗?
- linux中的xorg进程占用内存资源释放
- 服务器端身份证识别技术
- 图片底部边距清除代码
- UG编程入门实战详解,带你快速了解UG编程的实现
- solidwork2019安装后出现无法获得许可证
- No.4 STM32F429IGT6 GPIO相关学习总结(STM32F429/F767/H743)
- python爬虫新闻内容_python爬虫:抓取新浪新闻内容(从当前时间到之前某个时间段),并用jieba分词,用于训练自己的分词模型...
- 不要再问我移动适配的问题了
- 面向残疾人网站开发注意要点
- 禁忌搜索算法(Tabu search)python实现
热门文章
- 基于Ameoba实现mysql读写分离
- 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
- How Tomcat Works(二十)
- css selector的优先级
- [力扣]1018_可被5整除的二进制前缀
- 多元高斯分布(Multivariate Gaussian Distribution)
- android 跳转到系统设置界面的所有Intent
- Android 使用jarsigner给apk签名的方法详细介绍
- volatile与synchronized 同步原理基础讲解
- 文献记录(part29)--Building crack identification and total quality management method based on deep ...