我在javascript中将值四舍五入为.25,.50,.75和.00。和代码如下。

function roundOff(obj) {
    //alert(document.getElementById("sample").value);
    var val=obj.value;
    var newValue;

    var floorValue = Math.floor(val);
    var remainder = val - floorValue;
    if (remainder < 0.325) {
        if (remainder < 0.125) {
            newValue = floorValue;

        } else {
            newValue = floorValue + 0.25;
        }
    } else {
        if (remainder < 0.625) {
            newValue = floorValue + 0.5;
        } else if (remainder < 0.875) {
            newValue = floorValue + 0.75;
        } else {
            newValue = floorValue + 1;
        }
    }
    alert(floorValue);

        alert(newValue);
        document.getElementById("sample").value=newValue;

    //return obj;
}


但无法将值放回jsp页面。如果我输入5.5,则jsp中仅显示5。但是,如果我发出警报并检查floorvalue的值,则为5.5。但是,如果我将它放在jsp的文本框中,它仅给出5。为什么会这样???

最佳答案

您正在将文本框的值设置为floorValue,而不是newValue。

10-07 21:12