Я использовал макрос в листе Excel, чтобы создать пользовательскую функцию округления для специального калькулятора. Я хочу загрузить лист калькулятора на свой диск Google, чтобы я мог поделиться им в качестве ресурса. Однако язык Excel не переводится на язык сценариев Google Apps, и я не могу понять, как его настроить.
Я не эксперт по коду, поскольку я скопировал базовый код из Excel и немного подправил, и, вероятно, мне повезло заставить его работать. Но я попытался перевести код для работы в скрипте приложений Google, и он никогда не работал без ошибок.
Это код Excel, который дал мне успешную функцию.
Function pokeRound(pValue As Double) As Double
Dim LWhole As Long
Dim LFraction As Double
'Retrieve integer part of the number
LWhole = Int(pValue)
'Retrieve the fraction part of the number
LFraction = pValue - LWhole
If LFraction <= 0.5 Then
pokeRound = LWhole
Else
pokeRound = Round(pValue, 0)
End If
End Function
Это моя попытка перевода, которая не работает
function pokeRound() {
// Retrieve integer part of the number
var LWhole = (pValue);
// Retrieve the fraction part of the number
var LFraction = pValue - LWhole;
If (LFraction <= 0.5)
pokeRound = LWhole;
Else
(pokeRound = Round(pValue, 0));
};
Результатом этой функции является пользовательский метод округления. Обычное округление будет означать 88,5 раундов до 89. Вместо этого эта функция округляет 88,5 до 88 и округляет 88,51 до 89. Может ли кто-нибудь помочь мне перевести это для работы в Google Apps Script?