[英]toFixed(); is only returning .00
下面的代碼返回小數位,但是當我的值設置為.67,1.33,2.67等時,它不會返回.00以外的值。
$(function($) {
$('#CourseMenu select').change(function() {
var sum = 0;
$('#CourseMenu select').each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
$('#total_potential').html(Math.min(sum,72).toFixed(2));
});
});
這是js從中提取數據的地方......
<legend>Transfer Course Information</legend>
<label for="School Int.">School Int.</label>
<input name="School Int." type="text" size="6" maxlength="6" />
<label for="ID">ID</label>
<input name="ID" type="text" id="ID" size="8" />
<label for="Name">Name</label>
<input name="Name" type="text" id="Name" size="25" />
<label for="Grade">Grade</label>
<input name="Grade" type="text" id="Grade" size="2" />
<label for="Credits">Credits</label>
<select name="Credits" id="Credits">
<option value="0">Select Credit</option>
<option value="0.67">1 QtrCr.</option>
<option value="1.33">2 QtrCr.</option>
<option value="2.00">3 QtrCr.</option>
<option value="2.67">4 QtrCr.</option>
<option value="3.33">5 QtrCr.</option>
<option value="4.00">6 QtrCr.</option>
<option value="4.67">7 QtrCr.</option>
<option value="5.33">8 QrtCr.</option>
<option value="6.00">9 QtrCr.</option>
<option value="6.67">10 QtrCr.</option>
<option value="1">1 SemCr.</option>
<option value="2">2 SemCr. </option>
<option value="3">3 SemCr.</option>
<option value="4">4 SemCr.</option>
<option value="5">5 SemCr.</option>
<option value="6">6 SemCr.</option>
<option value="7">7 SemCr. </option>
<option value="8">8 SemCr.</option>
<option value="9">9 SemCr.</option>
<option value="10">10 SemCr.</option>
</select>
Transferrable
<input name="COM105" type="checkbox" id="COM1" />
我嘗試過這個,但它不起作用......
$(function($) {
$('#CourseMenu select').change(function() {
var sum = 0;
$('#CourseMenu select').each(function(idx, elm) {
sum += parseInt(elm.value, 10);
});
$('#total_potential').html(Math.min(sum,72).toFixed(2).replace(".00", ""));
});
});
你正在使用parseInt()
,它會丟棄分數。 請改用parseFloat()
。
$(function($) {
$('#CourseMenu select').change(function() {
var sum = 0;
$('#CourseMenu select').each(function(idx, elm) {
sum += parseFloat(elm.value);
});
$('#total_potential').html(Math.min(sum,72).toFixed(2));
});
});
parseInt
方法將字符串解析為整數 ( 整數 )。 在保持小數部分的同時在JavaScript中將字符串轉換為數字的一種簡單方法是使用一元加運算符:
sum += +elm.value;
與parseFloat
相比,它的優勢/劣勢在於它更嚴格:如果字符串以數字開頭,后跟字母,如"123abc"
,這將返回NaN,而parseFloat
將返回可在字母之前解析的數字。
您在.toFixed()調用之前的值上調用“parseInt”,這會將這些浮點轉換為整數。 嘗試使用“parseFloat”,你應該全部設置好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.