toFixed();只返回了.00
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",这将把这些浮点转换为int。尝试"parseFloat",您应该已经做好了准备。
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 对负指数调用的.toFixed()返回一个数字,而不是字符串
- Wy js 方法 toFixed() 返回 NaN
- JavaScript:始终从函数(货币支持)返回 .toFixed(2)
- toFixed();只返回了.00
- Javascript方法链:正确的方法链toFixed()和parseFloat()返回一个数字,而不是一个字符串
- 为什么5.00 >20.00对javascript parseFloat.tofixed(2)返回true
- toFixed(3) -6.1e-15返回-0.000,我怎么能放弃减号