【发布时间】:2014-04-21 23:27:26
【问题描述】:
请仅使用 JavaScript。
这是我第一次尝试自己编写 JavaScript。我已经成功地操纵了过去朋友为我编写的代码,但我从来没有从头开始编写自己的代码,直到最近也没有花时间尝试理解语言本身。
我正在尝试制作一个基本的胸罩尺寸计算器,它从用户输入中获取数字(测量值),将它们路由到一个函数中,然后将胸罩尺寸返回(计算)给用户。
由于我对这门语言还很陌生,所以我现在只尝试写一个部分——“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”四舍五入到最接近的整数。我需要它四舍五入到最接近的偶数整数,因为胸罩带的尺寸只有偶数。
例如,如果用户输入数字“31.25”,代码当前会将其四舍五入为“31”,但我需要将其四舍五入为“32”
如果用户输入数字“30.25”,代码会将其正确舍入为“30”,因为在这种情况下最接近的整数和最接近的整数偶数相同。但是,如果用户输入“30.5”,代码会将其四舍五入为“31”,但我仍需要将其向下舍入为“30”
基本上,如果用户输入等于或大于奇数(29.00 变为 30,31.25 变为 32,等等),我需要将数字向上取整。如果用户输入大于或等于偶数且小于下一个奇数(28、28.25、28.75 等),我需要将其向下舍入(在前面的示例中,所有情况下都为 28)。奇数是四舍五入的中间除数,而不是任何数字的“.5”。
这可能吗?
【问题讨论】:
标签: javascript rounding