请仅使用 JavaScript。
这是我第一次尝试自己编写 JavaScript。我已经成功地操纵了 friend 们过去为我编写的代码,但我从未从头开始编写自己的代码,直到最近才花时间尝试理解语言本身。
我正在尝试制作一个基本的文胸尺码计算器,它从用户输入中获取数字(测量值),将它们路由到一个函数中,然后将文胸尺码返回(计算)给用户。
因为我对这门语言还很陌生,所以我现在只想写一个部分——“band size”
我有一个输入字段供用户输入他们的“下胸围测量值”,我目前已将其设置为四舍五入。这按预期工作。看这里
<html>
<head>
<script type="text/javascript">
function calculate()
{
var underbust = document.getElementById("underBust").value;
if (underbust.length === 0)
{
alert("Please enter your underbust measurement in inches");
return;
}
document.getElementById("bandsize").innerHTML = Math.round(underbust);
}
</script>
</head>
<body>
<input type="number" id="underBust" /> inches<br>
<input type="submit" value="Submit" onclick="calculate()" /><br>
<b>underbust:</b> <div id="bandsize">bandsize will appear here</div><br>
</body>
</html>
但是,我不需要将输入“underBust”四舍五入到最接近的整数。我需要它四舍五入到最接近的 EVEN 整数,因为文胸带尺寸只能是偶数。
例如,如果用户输入数字“31.25”,代码当前会将其四舍五入为“31”,但我需要它四舍五入为“32”
如果用户输入数字“30.25”,代码会将其四舍五入为“30”,因为在这种情况下,最接近的整数和最接近的偶数是相同的。但是,如果用户输入“30.5”,代码会将其四舍五入为“31”,但我仍然需要将其四舍五入为“30”
基本上,如果用户输入等于或大于奇数(29.00 变为 30,31.25 变为 32,等等),我需要将数字向上舍入。如果用户输入大于或等于偶数且小于下一个奇数(28、28.25、28.75 等),我需要将其向下舍入(在前面的示例中,所有情况下都为 28)。奇数是四舍五入的中间部分,而不是任何数字的“.5”。
这可能吗?
最佳答案
应该这样做:
2 * Math.round(underbust / 2);
关于javascript - 如何使用 Math.round 将数字四舍五入到最接近的偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22442831/