2016-04-13 63 views
1

我公司拥有一批10,000.00,我要检查它是否大于0需要字符串转换成数

function chkgrt(num) 
{ 
    if(num>0){ 
     return true; 
    } 
    else 
     return false; 
} 

chkgrt('10,000.00' )

它总是返回false。 我不知道为什么它返回false即使我已经过了10000这是大于0

+1

'Chkgrt(10,000.00)'这将导致一个语法错误 –

+0

为什么转换可读'NUM> 0'变成一个晦涩的'chkgrt'? – moonwave99

回答

2

您可以修改你的函数如下

function chkgrt(num){ 
    num = num.replace(',',""); 
    if(num > 0){ 
     return true; 
    } 
    else 
     return false; 
} 

始终作为字符串传递

+0

'parseInt'也应该完成。 –

2

以下,因为你正在检查反对0

chkgrt('10,000.00') 
false 

字符串我解析它变成浮动,你给了我假的在它.00,然后它

chkgrt(parseFloat('10,000.00'.replace(',',''))) 
true 
0

这取决于您如何传递数字。如果您将10000或10000.00传递给您的chkgrt()函数,它将返回true。 但是,如果你通过10,000.00它将返回一个语法错误。为了通过10,000.00作为你的功能,你需要使用下面的代码来解析您输入的号码:

var newNum = num.replace(',', '');