javascript - 四舍五入到最接近的 5 的倍数

标签 javascript

我正在尝试编写一个四舍五入到最接近的 5 倍数的 Javascript 函数。但是只有当变量与四舍五入到 5 的倍数之间的差值小于 3 时才四舍五入。(所以 53 会四舍五入到 55,但 52 将保持 52。)

此外,如果成绩 < 38,则为 F。

下面的代码是我的代码,但它运行不正常。我该如何修复它?

谢谢!!

grade = 71
function roundGrade (grade) {
const remainder = grade % 5
if (grade < 38) {
	return "fail";  }
else if (remainder >= 3) {
	grade; }
else if (remainder < 3) {
  grade-remainder+5
}
}

最佳答案

如果余数为 3 或以上,则只需添加 5 并减去余数,可以使用 grade += 5 - 余数来完成。另请注意,您根本不需要第二个 else if 条件,因为您只想在余数大于或等于 3 时修改 grade 。最后,您需要确保您的函数实际上返回 grade 以及returngradegrade

这可以从以下内容看出:

function roundGrade(grade) {
  const remainder = grade % 5;
  if (grade < 38) {
    return "fail";
  } else if (remainder >= 3) {
    grade += 5 - remainder;
  }
  return grade;
}

console.log(roundGrade(71));
console.log(roundGrade(74));

关于javascript - 四舍五入到最接近的 5 的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49971249/

相关文章:

javascript - 在 JS 中格式化 Date()

javascript - 在 MVC4 中使用 Ajax 调用 Action 方法

javascript - 在一个页面上同时显示级联列表

javascript - 当字符串与键/值对中的键匹配时替换字符串(及其对应的值)

javascript - 只允许某些字符

javascript - removeEventListener 在 Javascript 中不起作用

javascript - jQuery 中的弹性文本区域插件

javascript - 关闭 JavaScript 中的弹出面板

javascript - 识别字符串数组中的名词

javascript - Mobx 状态树发生更改后如何让模型/状态进行监听?