在Javascript中挣扎于固定小数点
我很难在页面的两个区域显示小数点 我有一个带有范围滑块的页面,一个显示在页面上的只读值,以及一个供用户手动输入价格的文本输入框。我希望发生以下事情(但目前没有):在Javascript中挣扎于固定小数点,javascript,Javascript,我很难在页面的两个区域显示小数点 我有一个带有范围滑块的页面,一个显示在页面上的只读值,以及一个供用户手动输入价格的文本输入框。我希望发生以下事情(但目前没有): 当用户调整范围滑块时,只读值“New suggestion”始终返回一个小数点后2位的值。除了值以0(零)结尾外,它在此时执行此操作,但我希望它始终包含零 当用户调整范围滑块时,文本输入框值“Adjust here”(调整此处)始终返回一个小数位为2的值。现在它返回小数点前的任何内容,因此如果用户将范围滑块调整为10.41,那么文本
- 当用户调整范围滑块时,只读值“New suggestion”始终返回一个小数点后2位的值。除了值以0(零)结尾外,它在此时执行此操作,但我希望它始终包含零
- 当用户调整范围滑块时,文本输入框值“Adjust here”(调整此处)始终返回一个小数位为2的值。现在它返回小数点前的任何内容,因此如果用户将范围滑块调整为10.41,那么文本输入框将只显示10,但我希望它显示完整的10.41
<p>Suggested: 13.53</p>
<label for="monday">New suggestion: <span id="monday"></span></label>
<p>
<input type="range" min="0.50" max="27.05" value="13.52" id="range" name="monday" step="0.01" oninput="changeInputValue(this.value)" />
<p>
Adjust here: <input type="number" id="number" required min="0.05" max="27.05" value="13.53" onkeyup="changeRangeValue(this.value)"/>
<span id="message"></span>
<br />
建议:13.53
新建议:
在此调整:
JavaScript:
var rpp = 13.53;
var t1 = rpp/100*75;
var t2 = rpp/100*133;
var t3 = rpp/100*170;
var msg;
function showValue1(newValue) {
document.getElementById("monday").innerHTML= newValue;
}
function changeRangeValue(val){
document.getElementById("range").value = isNaN(parseInt(val, 10)) ? 0 : parseInt(val, 10);
showValue1(val);
if (val < t1) {
msg = "Message 1";
} else if (val >= t1 && val <= t2) {
msg = "Message 2";
} else if (val >= t2 && val <= t3) {
msg = "Message 3";
} else {
msg = "Message 4";
}
document.getElementById("message").innerHTML = msg;
}
function changeInputValue(val){
document.getElementById("number").value = isNaN(parseInt(val, 10)) ? 0 : parseInt(val, 10);
showValue1(val);
if (val < t1) {
msg = "Message 1";
} else if (val >= t1 && val <= t2) {
msg = "Message 2";
} else if (val >= t2 && val <= t3) {
msg = "Message 3";
} else {
msg = "Message 4";
}
document.getElementById("message").innerHTML = msg;
}
var-rpp=13.53;
var t1=rpp/100*75;
变量t2=rpp/100*133;
变量t3=rpp/100*170;
var-msg;
函数showValue1(newValue){
document.getElementById(“星期一”).innerHTML=newValue;
}
函数changeRangeValue(val){
document.getElementById(“range”).value=isNaN(parseInt(val,10))?0:parseInt(val,10);
showValue1(val);
if(val }否则,如果(val>=t1&&val=t2&&val=t1&&val=t2&&val将数字转换为float
,而不是int
。只有浮点数有十进制表示法,intiger数字没有十进制表示法。将parseInt
更改为parseFloat
将在此处执行此操作。检查更新的代码段
var-rpp=13.53;
var t1=rpp/100*75;
变量t2=rpp/100*133;
变量t3=rpp/100*170;
var-msg;
函数showValue1(newValue){
document.getElementById(“星期一”).innerHTML=newValue;
}
函数changeRangeValue(val){
document.getElementById(“range”).value=isNaN(parseFloat(val,10))?0:parseFloat(val,10);
showValue1(val);
if(val }否则,如果(val>=t1&&val=t2&&val=t1&&val=t2&&val将parseInt
s更改为parseFloat
s,并在显示值时使用.toFixed(2)
。不确定这是否有帮助,但您查看过吗?它将为您提供一个带有明确指定小数位数的数字的字符串表示形式。