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

如何在JavaScript中舍入到小数点后1位?

牟子真
2023-03-14
问题内容

您可以将javascript中的数字四舍五入到小数点后的1个字符(正确舍入)吗?

我尝试将* 10舍入为/ 10,但在int末尾保留了两位小数。


问题答案:

Math.round(num * 10) / 10 可行,这是一个例子…

var number = 12.3456789
var rounded = Math.round(number * 10) / 10
// rounded is 12.3

如果您希望它保留一位小数,即使该位是0,也可以添加…

var fixed = rounded.toFixed(1)
// fixed is always to 1 d.p.
// NOTE: .toFixed() returns a string!

// To convert back to number format
parseFloat(number.toFixed(2))
// 12.34
// but that will not retain any trailing zeros

// So, just make sure it is the last step before output,
// and use a number format during calculations!

编辑:添加具有精度功能的回合…

使用这个原理作为参考,这里有一个方便的小舍入函数,它需要精确…

function round(value, precision) {
    var multiplier = Math.pow(10, precision || 0);
    return Math.round(value * multiplier) / multiplier;
}

…用法…

round(12345.6789, 2) // 12345.68
round(12345.6789, 1) // 12345.7

…默认舍入到最接近的整数(精度0)…

round(12345.6789) // 12346

…并可以四舍五入到最接近的10或100等…

round(12345.6789, -1) // 12350
round(12345.6789, -2) // 12300

…以及正确处理负数…

round(-123.45, 1) // -123.4
round(123.45, 1) // 123.5

…并且可以与toFixed组合以一致地格式化为字符串…

round(456.7, 2).toFixed(2) // "456.70"


 类似资料:
  • 我需要将PHP中的一个小数点舍入为两位小数,以便: 变成。。。 我尝试了数字_格式,但这只是将值舍入到49.96。我不能使用substr,因为数字可能更小(如7.950)。到目前为止,我还没有找到这个问题的答案。 非常感谢您的帮助。

  • 问题内容: 我已经阅读了很多stackoverflow问题,但似乎没有一个对我有用。我正在四舍五入。这是代码: 我得到的输出是:但我希望它是。我读到添加会有所帮助,但是如你所见,我没有设法使其工作。 输入和输出都必须是双倍是绝对必要的。 如果你更改上面代码的第4行并将其发布,那将是非常有用的帮助。 问题答案: 输出是 或如@Rufein所说 这也会为你做。

  • 问题内容: 每次我想四舍五入到小数点后两位小数时,它都不想四舍五入…我怎么能将它四舍五入到小数点后两位零,那会给我92.00而不是92? 给我 但我想要 我使用了TO_CHAR,它起作用了 谢谢你们! 问题答案: 您可以尝试使用TO_CHAR函数来转换结果 例如 希望能帮助到你

  • 问题内容: 我需要四舍五入,它应该是两位小数。 尝试了以下内容 28.27 但是期望值仅为28.26。 问题答案: 似乎您需要:

  • 问题内容: 假设我有,我想将其转换为。如何在Python中完成此操作? 给与不。我是Python或一般编程的新手。 我不想将其打印为字符串,结果将被进一步使用。有关此问题的更多信息,请查看 Tim Wilson的Python编程技巧:贷款和付款计算器 。 问题答案: (或的结果)正确舍入为小数点后两位。数学上,这听起来像您想要的是天花板功能。Python模块中的一个名为: 地板和天花板功能通常分别

  • 我对java相当陌生,我必须创建这个程序,我不知道从哪里开始。有人能帮我做什么,以及如何写代码开始吗? 编写一个模拟收银机的程序。提示用户输入三件商品的价格。将它们相加以获得小计。确定小计的税额(6%)。查找销售小计加税额的总额。显示每件商品的价格、小计金额、税额和最终金额。 到目前为止,我有这个: 输出(如果价格为price1=1.65,price2=2.82和price3=9.08美元)如下所