如何在Google App Maker中使用@expr数据进行绑定转换?

时间:2019-03-21 15:29:48

标签: google-app-maker

我在Google App Maker中有一个表,带有两个数字和一个结果:result = number1 / number2

Number1的值为datasource.item.Number1#formatNumber('#.00')

Number2的值为datasource.item.Number2#formatNumber('#.00')

结果为(@datasource.item.Number1/@datasource.item.Number2)#formatNumber('#.00')

但是,当我运行此应用程序时,出现此错误:

  

语法错误:返回时未终止的语句   (_arg0 / _arg1)#formatNumber('#。00')

我希望该结果显示在表格中,但只有2位小数。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

首先让我们了解错误的原因。在Javascript中,有一个名为 ternary operator 的运算符。

  

条件(三元)运算符是唯一的JavaScript运算符   需要三个操作数。此运算符经常用作    if语句的快捷方式。

AppMaker认为您正在放置三元运算符,并试图提示您语法不正确,因此您会看到该错误。

现在,我们已经了解了错误,让我们专注于您的需求。因此,您想使用绑定转换器将结果值格式化为仅显示两个小数。 #formatNumber绑定转换器的问题在于,它期望一个原始值 double ,并且您要提供一个计算结果为数字的表达式,这不一样。

幸运的是,javascript有一些内置方法可以帮助您实现这一目标。对于这种情况,我会使用 toFixed() 方法。

  

toFixed()方法使用定点表示法格式化数字。

因此,您要做的就是将绑定表达式更改为以下内容:

(@datasource.item.valueOne/@datasource.item.valueTwo).toFixed(2)