如何在JavaScript中比较两个数字

时间:2018-08-27 06:49:52

标签: javascript

我正在比较javascript中的两个数字。但这并不完美 下面是我的代码

function selling_onchange(){
    var mrp = $('#mrp').val();
    var id = $('#selling_price').val();
    if(mrp > id){
        alert("mrp is greater");
    }else{
        alert("selling price is greater");
    }
} 

如果我给的mrp是100,销售价格是20,那么它给出的警报也要比销售价格更大。 如果有人知道解决方案,那就请帮忙。

3 个答案:

答案 0 :(得分:2)

jQuery eval()函数以字符串数据类型返回。因此,您需要将字符串转换为整数或浮点值。

您可以使用以下功能。

var mrp = parseInt($('#mrp').val());
var id = paeseInt($('#selling_price').val());

类似地,

var mrp = parseFloat($('#mrp').val());
var id = paeseFloat($('#selling_price').val());

使用parseFloat()处理浮点数。

答案 1 :(得分:1)

Javascript无法自动识别数字数据类型,您需要将任何值转换为整数或浮点数

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="main"> <input type="text" id="calculation"> </div> <hr> <div class="main"> <input type="text" id="query"> </div> <div> <table> <tr> <td><button class="1class" value="1">1</button> <button class="1class" value="2">2</button> <button value="3">3</button> <button value="4">4</button> </td> </tr> </table> </div>parseInt()有两个功能

  

parseFloat()函数解析一个字符串并返回一个整数。

     

parseInt()函数解析一个字符串并返回一个浮点数。

     

parseFloat()函数将object参数转换为一个数字,   代表对象的值。

Number()
function compare() {

    var mrp = parseFloat($('#mrp').val());
    var id = parseFloat($('#selling_price').val());

    if (mrp > id) {
        $('#lbStatus').html("mrp is greater");
    } else {
        $('#lbStatus').html("selling price is greater");
    }

};

答案 2 :(得分:0)

当您使用.val()方法获取元素的值时,该值具有String类型,并且在比较这些值时,需要将其显式转换为数字类型。

使用+

var mrp = +($('#mrp').val());
var id = +($('#selling_price').val());

使用parseInt()

var mrp = parseInt($('#mrp').val(), 10); //it is always a good practice to specify the redix
var id = parseInt($('#selling_price').val(), 10);

使用parseFloat()(如果您的值可能包含浮点数)

var mrp = parseFloat($('#mrp').val());
var id = parseFloat($('#selling_price').val());

使用号码()

var mrp = Number($('#mrp').val());
var id = Number($('#selling_price').val());