首页 > 解决方案 > 如何在谷歌应用程序制造商中使用@expr 数据进行绑定转换器?

问题描述

我在谷歌应用程序制造商中有一个表,有两个数字,结果是: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 位小数。

我怎么能做到这一点?

标签: google-app-maker

解决方案


让我们首先了解错误背后的原因。在 Javascript 中,有一个称为三元运算符的运算符。

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

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

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

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

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

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

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

推荐阅读