ChristianW
4 years agoValued Contributor
Rounding the result of a formula
I want to round the values for the Revenue account for all UD2 members to whole numbers.
Do I have to get the values, round them and write the value, or is there a simpler method?
There is no explicit rounding function in api.data.calculate, but you can use math.round function together with the eval function, as explained here: Using-the-EVAL-function-to-loop...
It will look like this:
Here is the member formula part of it:
api.Data.Calculate("A#60000R = EVAL(A#60000)", AddressOf onEvalDataBuffer)
and here the helper function:
Private Sub OnEvalDataBuffer(ByVal api As FinanceRulesApi, ByVal evalName As String, ByVal eventArgs As EvalDataBufferEventArgs) 'Loop over cells Dim resultCells As New Dictionary(Of DataBufferCellPk, DataBufferCell) For Each sourceCell As DataBufferCell In eventArgs.DataBuffer1.DataBufferCells.Values sourceCell.CellAmount = math.round(sourceCell.CellAmount) Next eventArgs.DataBufferResult.DataBufferCells = eventArgs.DataBuffer1.DataBufferCells End Sub
The result will look like this: