【问题标题】:Math.Round Javascript [duplicate]Math.Round Javascript [重复]
【发布时间】:2015-08-13 20:36:33
【问题描述】:

我正在寻找的输出

4.33 = 4.5

4.5517263843648 = 5

在 javascript 中使用 Math.round 函数。我尝试了几种方法,但似乎都没有奏效。

【问题讨论】:

  • Math.round()、Math.floor() 和 Math.ceil() 总是四舍五入到最接近的、下限和上限整数。为了四舍五入到最接近的整数或半整数,您应该创建一个进行数学运算的函数。 Stack Overflow 不是一个要求其他人为您做这件事的网站。发布您尝试过的内容
  • “你应该做一个计算数学的函数”...这有什么帮助?
  • 只想把这个留在这里:[1,2,1.2,1.8,1.5,1.3].map(function(v){return v + ": " + Math.round(v*2)/2}).join(", ")
  • @GottZ:你是从重复链接上的答案中得到的吗?
  • @Cerbrus 不,我是从这里尝试得到的:chat.stackoverflow.com/transcript/message/25068302#25068302

标签: javascript


【解决方案1】:

尝试使用,

function test(val) {
    var x = Math.floor(val);
    return (val - x) > 0.5 ? Math.ceil(val) : (x + 0.5);
}

DEMO

【讨论】:

  • 这个答案不起作用。 test(0.1) 返回0.5test(1.1) 返回1.5
  • @Cerbrus 这就是他的要求。对吗?
  • @Cerbrus 你什么时候读懂了 OP 的想法?不要猜测!让 OP 说出来。
  • 他的例子清楚地表明他想要下一个 0.5。 4.5517263843648 = 5
  • 呃,我瞎了一只蝙蝠。你们是对的。
猜你喜欢
  • 2019-06-11
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多