JS 保留两位小数 & JS Math对象

一、“四舍五入”算法

    1. 四舍五入的情况

var num =4.2167456;
num = num.toFixed(2); // 输出结果为 4.22
var num =4.2167456;
num = Math.round(num * 100) / 100; // 输出结果为 4.22

var num =4.2007456;
num = Math.round(num * 100) / 100; // 输出结果为 4.2

    2. 不四舍五入的情况

var num =4.2167456;
num = Math.floor(num * 100) / 100; // 输出结果为 4.21
var num =4.2167456;
num = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/)); // 输出结果为 4.21
//注意:如果是负数,请先转换为正数再计算,最后转回负数

二、js Math对象方法

Math 对象

Math 对象用于执行数学任务。

注释:Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math 对象方法

方法描述
abs(x)返回数的绝对值。
acos(x)返回数的反余弦值。
asin(x)返回数的反正弦值。
atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)对数进行上舍入。
cos(x)返回数的余弦。
exp(x)返回 e 的指数。
floor(x)对数进行下舍入。
log(x)返回数的自然对数(底为e)。
max(x,y)返回 x 和 y 中的最高值。
min(x,y)返回 x 和 y 中的最低值。
pow(x,y)返回 x 的 y 次幂。
random()返回 0 ~ 1 之间的随机数。
round(x)把数四舍五入为最接近的整数。
sin(x)返回数的正弦。
sqrt(x)返回数的平方根。
tan(x)返回角的正切。
toSource()返回该对象的源代码。
valueOf()返回 Math 对象的原始值。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsMath</title>
<script type="text/javascript">
    document.write("取整或下舍入Math.floor(5.80) ---- " + Math.floor(5.80) + "<br><br>");//取整或下舍入
    document.write("四舍五入,取整数MMath.round(5.80) ---- " + Math.round(5.80) + "<br><br>");//四舍五入,取整数
    document.write("四舍五入,保留两位小数Math.round((5.80*100)/100) ---- " + Math.round((5.80*100)/100) + "<br><br>");//四舍五入,保留两位小数
    document.write("上舍入Math.ceil(5.10) ---- " + Math.ceil(5.10) + "<br><br>");//上舍入
    document.write("取绝对值Math.abs(-5.80) ---- " + Math.abs(-5.80) + "<br><br>");//取绝对值
    document.write("返回两个值中最大数Math.max(55, 58) ---- " + Math.max(55, 58) + "<br><br>");//返回两个值中最大数
    document.write("返回两个值中最小数Math.min(55, 58) ---- " + Math.min(55, 58) + "<br><br>");//返回两个值中最小数
</script>
</head>
<body>
</body>
</html>

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在JavaScript中,可以使用Math.round()方法来保留指定小数位数。具体方法是将要保留小数的数字乘以10的n次方,然后再使用Math.round()进行四舍五入,最后再除以10的n次方来还原小数位数。例如,要保留num的两位小数: var result = Math.round(num * 100) / 100; console.log(result); // 保留两位小数的结果 如果要保留更多位数的小数,可以相应地调整乘以的倍数和除以的除数。例如,要保留num的三位小数: var result = Math.round(num * 1000) / 1000; console.log(result); // 保留三位小数的结果 为了方便使用,你还可以封装一个方法来实现保留指定小数位数的功能。下面是一个示例方法: function retain(value, n) { if (n === null || n === undefined || n === 0) { return parseInt(value); } let tran = Math.round(value * Math.pow(10, n)) / Math.pow(10, n); let tranV = tran.toString(); let newVal = tranV.indexOf('.'); if (newVal < 0) { tranV += '.'; } for (let i = tranV.length - tranV.indexOf('.'); i <= n; i++) { tranV += '0'; } return tranV; } 通过调用retain()方法,并传入要保留小数的值和需要保留的小数位数,就可以得到保留指定小数位数的结果。例如: var result = retain(num, 2); console.log(result); // 保留两位小数的结果 请注意,这个方法在保留0位小数时,会将结果转换为整数。如果不需要转换成整数,请将n参数设置为null或undefined。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [JavaScript Math.round()的用法以及怎么保留指定小数](https://blog.csdn.net/bigpatten/article/details/108111445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [历年真题Matlab编程数学建模工具箱和重要算法](https://download.csdn.net/download/m0_58719994/88269408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_格鲁特宝宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值