一种JavaScript里小数的精确计算方式
  TEZNKK3IfmPf 2024年08月09日 33 0

 

<html>
<script type="text/javascript">
/*
题目描述
求 a 和 b 相乘的值,a 和 b 可能是小数,需要注意结果的精度问题
输入例子:
multiply(3, 0.0001)
输出例子:
0.0003

String.prototype.substring()

Number.prototype.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>
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年08月09日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   4天前   12   0   0 编程开发
TEZNKK3IfmPf