2016-04-13 65 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(',', '');