当前位置: 首页 > 面试题库 >

Javascript:将舍入后的数字格式化为N个小数

吴星汉
2023-03-14
问题内容

在JavaScript中,将数字四舍五入到N个小数位的典型方法是:

function roundNumber(num, dec) {
  return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
}



function roundNumber(num, dec) {

  return Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);

}



console.log(roundNumber(0.1 + 0.2, 2));

console.log(roundNumber(2.1234, 2));

但是,这种方法 最多 可以舍入到N个小数位,而我想 始终 舍入到N个小数位。例如,“ 2.0”将四舍五入为“ 2”。

有任何想法吗?


问题答案:

这不是一个四舍五入的问题,而是一个显示问题。数字不包含有关有效数字的信息;值2与2.0000000000000相同。当您将舍入后的值转换为字符串时,就可以使其显示一定数量的数字。

您可以在数字后添加零,例如:

var s = number.toString();
if (s.indexOf('.') == -1) s += '.';
while (s.length < s.indexOf('.') + 4) s += '0';

(请注意,这是假设客户端的区域设置使用句点作为小数点分隔符,该代码需要更多工作才能用于其他设置。)



 类似资料:
  • 问题内容: 我需要将浮点数格式化为“ n”个小数位。 试图使用BigDecimal,但返回值不正确… 我需要返回一个浮点数,该浮点数具有我指定的小数位数。 我不需要价值回报 问题答案: 你还可以传递float值,并使用:

  • 本文向大家介绍JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去,包括了JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去的使用技巧和注意事项,需要的朋友参考一下 前端开发中经常会碰到用 JavaScript?格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等。 简单的功能函数 类似的代码网上有很多: 或者 更加完善的功能函数

  • 问题内容: 有没有办法将python浮点数舍入为x小数?例如: 我已经找到了修剪/截断它们的方法(66.666666666-> 66.6666),但是不是圆形的(66.666666666-> 66.6667)。 问题答案: 使用内置功能: 帮助: round(number [,ndigits])->浮点数 将数字四舍五入到给定的精度(以十进制数字表示)(默认为0位数)。这总是返回一个浮点数。精度可

  • 问题内容: 如何使用Python 3.0函数将小数点四舍五入到小数位数? 问题答案: 这是一个典型的有用示例…: 嵌套使用第二个参数,即n的当前值,并将其按指定的方式应用(此处为格式的“精度”部分- 小数点后的位数),然后应用外部结果。当然,你可以硬编码,如果你希望(数字或任何号码),但关键的问题是,你不 具备 对! 更好的…: …而不是阴暗“的说法号”,如0和1以上,你可以选择使用有光泽,论点明

  • 问题内容: 我希望实数是例如12.92,而不是12.9241。有可能这样做吗? 问题答案: 在PHP中,尝试 :

  • 问题内容: 我想知道如何在不舍入原始数字的情况下输出带两位小数的数字。 例如: 我已经尝试过: 问题答案: 您要使用命令。 https://dev.mysql.com/doc/refman/8.0/zh-TW/mathematical- functions.html#function_truncate