javascript - 如何在 JavaScript 中四舍五入到最接近的整数

标签 javascript rounding

<分区>

您好,我正在使用连接到我的 html 代码的 JavaScript 来制作转换计算器。我遇到的问题是如何将我的结果变成一个四舍五入的整数。我是 JavaScript 的新手,并且尝试了很多尝试使 Math.round(report1) 或 Math.round(report2) 在我的代码中起作用。也许我必须创建一个单独的函数?我很难过,希望对此有任何帮助。

//displaing reported values...for kg to pounds
var report1 = function (kilogram, pound) {
    document.getElementById("result").innerHTML =
        kilogram + "kg = " + pound + "lb";
};


//displaing reported values...for pounds to kilograms
var report2 = function (pound, kilogram) {
    document.getElementById("result").innerHTML =
        pound + "lb = " + kilogram + "kg";
};

//reading in value from lb to kg button
document.getElementById("p_to_kg").onclick = function () {
    var p = document.getElementById("weight").value;
    report2(p, p_to_kg(p));
};

//formula for pounds to kilograms
function p_to_kg(pound_weight) {
    return (pound_weight / 2.2);
}

//reading in value from kg to lb button
document.getElementById("kg_to_p").onclick = function () {
    var kg = document.getElementById("weight").value;
    report1(kg, kg_to_p(kg));
};

//formula for kilograms to pounds
function kg_to_p(kilogram_weight) {
    return (2.2 * kilogram_weight);
}

这是我的问题:

how to round this

最佳答案

HTML 输入值类型是字符串,因此要计算它们的舍入值,您应该将它们转换为数字。有很多方法可以将它们转换为数字,例如使用 string 值调用 Number 或添加 plus sign (+)(或除法或相乘):

var val = document.querySelector('#val');
var k2l = document.querySelector('#kg-to-lb');
var l2k = document.querySelector('#lb-to-kg');
var res = document.querySelector('#result');

//displaing reported values...for kg to pounds
var report1 = function(kilogram, pound) {
  result.innerHTML =
    kilogram + "kg = " + pound + "lb";
};


//displaing reported values...for pounds to kilograms
var report2 = function(pound, kilogram) {
  result.innerHTML = pound + "lb = " + kilogram + "kg";
};

k2l.addEventListener('click', function(e) {
  var kilogram = val.value;
  var pound = Math.round(kilogram * 2.2);
  report1(kilogram, pound);
});
l2k.addEventListener('click', function(e) {
  var pound = val.value;
  var kilogram = Math.round(pound / 2.2);
  report2(pound, kilogram);
});
value
<input id="val" type="number" />

<button id="kg-to-lb">kg 2 lb</button>
<button id="lb-to-kg">lb 2 kg</button>
<div id="result"></div>

关于javascript - 如何在 JavaScript 中四舍五入到最接近的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39629065/

相关文章:

javascript - React-native Scrollview 不起作用

javascript - jQuery - 检测点击某个像素区域,然后执行函数

mysql - 格式和圆形mysql的区别

mysql - 如何根据小数的值将小数四舍五入为整数?

Python ROUND_HALF_UP 未按预期工作

pyspark 的 Python 圆函数问题

python - round() 似乎没有正确舍入

javascript - 使用 Javascript 将列表列表转换为字典列表

javascript - 如何在 d3.js 中生成小倍数

javascript - 更改悬停框内文本的颜色