将数字截断到小数点后两位而不进行四舍五入
在 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中文网其他相关文章!