Как я могу сделать преобразователь привязки с данными @expr в Google App Maker? - PullRequest
0 голосов
/ 21 марта 2019

У меня есть TABLE в 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')

Я хочу, чтобы этот результат отображался в таблице, но только с двумя десятичными знаками.

Как я могу это сделать?

1 Ответ

1 голос
/ 21 марта 2019

Давайте сначала разберемся с причиной ошибки.В Javascript есть оператор, называемый троичным оператором .

Условный (троичный) оператор - единственный оператор JavaScript, который принимает три операнда.Этот оператор часто используется в качестве ярлыка для оператора if .

AppMaker считает, что вы вводите троичный оператор, и пытается намекнуть, что синтаксис неправильный,следовательно, вы видите эту ошибку.

Теперь, когда мы поняли ошибку, давайте сосредоточимся на ваших потребностях.Таким образом, вы хотите использовать преобразователь привязки для форматирования значения результата, чтобы показывать только два десятичных знака.Проблема с преобразователем привязки # formatNumber заключается в том, что он ожидает примитивное значение double , и вы предоставляете выражение, которое оценивает число, а это не одно и то же.

К счастью, в javascript есть несколько встроенных методов, которые могут помочь вам в этом.В этом случае я бы использовал метод toFixed () .

Метод toFixed () форматирует число с использованием записи с фиксированной точкой.

Поэтому все, что вам нужно сделать, это изменить выражение привязки на следующее:

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