google-app-maker - 如何在谷歌应用程序制造商中使用@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 位小数。
我怎么能做到这一点?
解决方案
让我们首先了解错误背后的原因。在 Javascript 中,有一个称为三元运算符的运算符。
条件(三元)运算符是唯一接受三个操作数的 JavaScript 运算符。此运算符经常用作if 语句的快捷方式。
AppMaker 认为您正在放置一个三元运算符并试图提示您语法不正确,因此您会看到该错误。
现在我们已经了解了错误,让我们专注于您的需求。因此,您想使用绑定转换器将结果值格式化为仅显示两位小数。#formatNumber绑定转换器的问题在于它需要一个原始值double并且您提供的表达式计算为一个数字,这不是一回事。
幸运的是,javascript 有一些内置方法可以帮助您实现这一目标。对于这种情况,我会使用toFixed()方法。
toFixed() 方法使用定点表示法格式化数字。
因此,您所要做的就是将绑定表达式更改为以下内容:
(@datasource.item.valueOne/@datasource.item.valueTwo).toFixed(2)
推荐阅读
- installation - windows程序会重新安装自己以在计算机上进行不同的登录
- c# - 在 Xamarin.Forms WebView 上嵌入 Power BI
- webpack - 将 Gulp 3 文件转换为 Gulp 4
- ios - SKEffectNode 结合 CIFilter 内存不足
- excel - 检查重复并返回下一个值
- java - ViewHolder 中 View 类型的字段 itemView 引用了什么?
- java - Spring Security登录成功后如何处理用户信息
- c++ - bool Book::isEmpty() const 遇到问题
- php - 如何解决 PHP 警告:使用未定义的常量用户 ID
- amazon-web-services - 更新 AWS EC2 实例的问题