首页 > web前端 > js教程 > 如何在 JavaScript 中将数字截断到小数点后两位而不进行四舍五入?

如何在 JavaScript 中将数字截断到小数点后两位而不进行四舍五入?

Barbara Streisand
发布: 2024-11-10 05:44:02
原创
1019 人浏览过

How to Truncate Numbers to Two Decimal Places Without Rounding in JavaScript?

将数字截断到小数点后两位而不进行四舍五入

在 JavaScript 中处理数字时,通常需要用一定数量的数字来显示它们小数位。 toFixed() 方法可用于将数字四舍五入到指定的小数位数,但是如果您需要截断数字而不四舍五入怎么办?

考虑以下示例:

var num = parseFloat(15.7784514);
document.write(num.toFixed(1) + "<br />");
document.write(num.toFixed(2) + "<br />");
document.write(num.toFixed(3) + "<br />");
document.write(num.toFixed(10));
登录后复制

此代码会产生以下输出:

15.8
15.78
15.778
15.7784514000
登录后复制

如您所见,toFixed() 方法将数字四舍五入到指定的小数位数。要截断数字,我们可以将其转换为字符串,并使用正则表达式将数字匹配到小数点后第二位:

function calc(theform) {
  var num = theform.original.value, rounded = theform.rounded
  var with2Decimals = num.toString().match(/^-?\d+(?:\.\d{0,2})?/)[0]
  rounded.value = with2Decimals
}
登录后复制

这段代码将原始数字转换为字符串,然后使用正则表达式 ^-?d (?:.d{0,2})?匹配小数点后第二位的数字。然后将生成的字符串分配给表单中的舍入元素。

此方法会将数字截断到小数点后两位,而不进行四舍五入。例如,如果原始数字是 15.7784514,则截断后的值为 15.77。

以上是如何在 JavaScript 中将数字截断到小数点后两位而不进行四舍五入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板