Javascript 用于在Mule Datamapper中返回字符串值的null的脚本

Javascript 用于在Mule Datamapper中返回字符串值的null的脚本,javascript,mule,Javascript,Mule,我的数据映射器中有一个类型为double的元素,名为capital。这些值来自excel电子表格。但当没有资本时,excel中的值为“N/A”。然后,我在映射程序中得到以下错误: 原因:com.opensys.cloveretl.component.spreadsheet.exception.SpreadsheetException:无法从元数据记录1字段13(“大写”)中M3类型字符串的单元格中获取数值 如何编写脚本使映射器在字符串类型的值通过时返回null或0?在使用脚本时,可以使用数据类型

我的数据映射器中有一个类型为double的元素,名为capital。这些值来自excel电子表格。但当没有资本时,excel中的值为“N/A”。然后,我在映射程序中得到以下错误:

原因:com.opensys.cloveretl.component.spreadsheet.exception.SpreadsheetException:无法从元数据记录1字段13(“大写”)中M3类型字符串的单元格中获取数值


如何编写脚本使映射器在字符串类型的值通过时返回null或0?

在使用脚本时,可以使用数据类型上可用的任何Java方法。这里的问题似乎是,您不知道输入值是字符串(“N/a”)还是十进制值。要解决这个问题,您可以采取将其转换为字符串的方法来测试它,然后采取适当的操作。我目前还没有设置excel数据映射器,所以我没有尝试过,但我认为类似的东西应该可以工作

output.Captial = ((""+input.Capital).equals("N/A") ? 0 : input.cellValue);
通过添加(“+input.Capital),您可以将其转换为字符串,就像在Java中一样