Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 双波浪号(~~)运算符正在删除数字的小数部分_Javascript - Fatal编程技术网

Javascript 双波浪号(~~)运算符正在删除数字的小数部分

Javascript 双波浪号(~~)运算符正在删除数字的小数部分,javascript,Javascript,所以一直以来我都认为我做错了。但是jQuery可以读取小数吗?我的第一个文本框必须将输入乘以.10,第二个是.05。但我最终只得到1分。我怎样才能修好它 <!DOCTYPE html> <head> <title>Test</title> <script src="../js/jquery-1.11.1.min.js"></script> <head> <body>

所以一直以来我都认为我做错了。但是jQuery可以读取小数吗?我的第一个文本框必须将输入乘以.10,第二个是.05。但我最终只得到1分。我怎样才能修好它

<!DOCTYPE html>
<head>
        <title>Test</title>
        <script src="../js/jquery-1.11.1.min.js"></script>
<head>

<body>

        <input id="first" type="text" />
<script>
        $('#first').on('change', function () {
                $(this).val($(this).val() * .10);
         compute();
        });
</script>

        <input id="second" type="text" />
<script>
        $('#second').on('change', function () {
                $(this).val($(this).val() * .05);
        compute();
        });
</script>

<script>
function compute() {
    var first = ~~$('#first').val();
    var second = ~~$('#second').val();
    var result = $('#result');
    var grade = first + second;
    result.val(grade);
}
</script>

        <input id="result" type="text" readonly />
</body>

</html>

试验
$('#first')。on('change',function(){
$(this.val($(this.val()*.10);
compute();
});
$('#second')。on('change',function(){
$(this.val($(this.val()*.05);
compute();
});
函数compute(){
var first=~~$('#first').val();
var second=~~$('#second').val();
var result=$(“#result”);
var等级=第一级+第二级;
结果:val(等级);
}

我相信您希望将compute()更改为:


显示代码,否则您将被严重否决。
~
运算符仅适用于整数。如果你给它一个带分数的数字,它会忽略分数。如果你想保留分数,为什么要使用
~
?对不起,我对JS没有深入的了解。我应该用什么来保留小数?我想你一定有理由写
~$('#first').val()
。如果我知道你想做什么,我可以解释如何正确地做。谢谢你。效果很好。谢谢所有关心我问题的人。祝您有个美好的一天!
function compute() {
    var first = parseFloat($('#first').val());
    var second = parseFloat($('#second').val());
    var result = $('#result');
    var grade = first + second;
    result.val(grade);
}