如果var是数字,对于脚本

时间:2016-02-07 11:06:50

标签: google-apps-script google-sheets google-apps

我需要运行一个包含逻辑的脚本:If isNumber,Then DoSomething。

我运行其他此类,如果那时测试,如果为空,并且单元格包含“x”。它应该很简单,但我找不到解决方案。我试过了getNumberFormat,innum,isnumber等等。

function ifIsNumber() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();

var substring1 = s.getRange("A1").getNumberFormat();

s.getRange("B1").setValue(substring1);

}

此代码检查单元格A1并在单元格B1中返回包含数字和文本的单元格的字符串“0。###############”。如何识别哪些单元格是数字?

3 个答案:

答案 0 :(得分:8)

这将检查A1是否为数字:

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 nuumber")
}
}

答案 1 :(得分:5)

Google Apps脚本可以使用大多数JavaScript方法和运算符。

检查对象是否为数字的另一种方法是使用typeof

以下代码将返回引用指定的单元格值的类型。

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

用作自定义函数的示例

=typeofcellvalue("A1")

如果单元格A1

  • 有一个数字,结果为number
  • 为空,结果为string

答案 2 :(得分:0)

如果值是数字或数字的字符串表示形式,如果要进行数字填充,则可以执行以下操作:

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
}

请参阅:

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