If var isnumber, for script

后端 未结 3 983
执念已碎
执念已碎 2020-12-31 05:45

I need to run a script which contains the logic: If isNumber, Then DoSomething.

I\'ve run other such if then tests such as if blank, and if cell contains \"

相关标签:
3条回答
  • 2020-12-31 06:03

    This will check if A1 is a number:

    function ifIsNumber() {
        var ss = SpreadsheetApp.getActiveSpreadsheet();
        var s = ss.getActiveSheet();
        var substring1 = s.getRange("A1").getValue();
        if (!isNaN(parseFloat(substring1)) && isFinite(substring1)) {
            s.getRange("B1").setValue("Is a number");
        } else {
            s.getRange("B1").setValue("Not a number");
        }
    }
    
    0 讨论(0)
  • 2020-12-31 06:03

    Google Apps Script could use most of the JavaScript methods and operators.

    One alternative to check if an object is a number is to use typeof.

    The following code will return the type of the value of the cell specified by the reference.

    function typeofcellvalue(reference) {
      var ss = SpreadsheetApp.getActive();
      var rng = ss.getRange(reference);
      var value = rng.getValue();
      return typeof value;
    }
    

    Example of use as a custom function

    =typeofcellvalue("A1")
    

    If cell A1

    • has a number, the result will be number.
    • is empty, the result will be string.
    0 讨论(0)
  • 2020-12-31 06:10

    If you want to do number stuff if the value is a number or a string representation of a number you can do the following:

    if (!isNaN(myVar)){//myVar is either a number or a string representing a number
        myNumericVar = +myVar;//convert myVar to number if necessary
        //do number stuff
    } else {
       //do non-numeric stuff
    }
    

    See:

    (Built-in) way in JavaScript to check if a string is a valid number

    0 讨论(0)
提交回复
热议问题