这里的HTML:增加/由十进制值减少输入
<body>
<p>
<img src="http://i.imgur.com/yOadS1c.png" id="minus1" width="20" height="20" class="minus"/>
<input id="qty1" type="text" value="1" class="qty"/>
<img id="add1" src="http://i.imgur.com/98cvZnj.png" width="20" height="20" class="add"/>
</p>
</body>
这里的JS:
$(function() {
$('.add').on('click',function(){
var $qty=$(this).closest('p').find('.qty');
var currentVal = parseFloat($qty.val());
if (!isNaN(currentVal)) {
$qty.val(currentVal + 0.1);
}
});
$('.minus').on('click',function(){
var $qty=$(this).closest('p').find('.qty');
var currentVal = parseFloat($qty.val());
if (!isNaN(currentVal) && currentVal > 0) {
$qty.val(currentVal - 0.1);
}
});
});
的jsfiddle:http://jsfiddle.net/hMS6Y/30/
当我尝试增加或由0.1降低输入值i我得到了一些奇怪的值:
1.1还行 1.2000000000000002 1.3000000000000003
我该如何让它们看起来如下:1.1,1.2,1.3等等。
https://wiki.theory.org/YourLanguageSucks#Type_System JavaScript是*不*一种高精度的编程语言。你相信0.1加0.2是0.3?错误! JavaScript:'0.1 + 0.2 == 0.3 // false' –
@Jack这篇文章可能会回答为什么OP会得到结果,但并未回答他如何格式化值以按预期显示的问题。 – cpburnz