需要将字符串转换为数字

时间:2016-04-13 18:35:48

标签: javascript angularjs

我有一个数字10,000.00,我想检查它是否大于0.

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

chkgrt('10,000.00' )

它始终返回false。 我想知道为什么它返回false,即使我已经超过了大于0的10000。

3 个答案:

答案 0 :(得分:2)

由于您正在检查字符串0

,因此以下为false
chkgrt('10,000.00')
false

我将它解析为浮动,因为你有.00,然后它可以工作

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

答案 1 :(得分:2)

您可以修改您的功能,如下所示

 new WebDriverWait(driver, TimeSpan.FromSeconds(45)).Until(ExpectedConditions.ElementExists((By.Id("dnn_ctr1734_Professional_btnSubmit"))));
 driver.FindElement(By.Id("dnn_ctr1734_Professional_btnSubmit")).Click();

始终以字符串

传递

答案 2 :(得分:0)

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

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