我在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。