0eacbfa751
The LibreOffice's Basic Round function does not return values that are compatible with VBA's Round. This can be easily fixed using rtl/round, which has a flag parameter called rtl_math_RoundingMode_HalfEven which rounds real numbers exactly in the expected way. Change-Id: I2215f08427e5777fc2d35f054b635dfa6247af8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118444 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
29 lines
902 B
VB.net
29 lines
902 B
VB.net
'
|
|
' This file is part of the LibreOffice project.
|
|
'
|
|
' This Source Code Form is subject to the terms of the Mozilla Public
|
|
' License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
' file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
'
|
|
|
|
Option VBASupport 1
|
|
Option Explicit
|
|
|
|
Function doUnitTest() As String
|
|
TestUtil.TestInit
|
|
verify_roundCompatibility
|
|
doUnitTest = TestUtil.GetResult()
|
|
End Function
|
|
|
|
Sub verify_roundCompatibility()
|
|
On Error GoTo errorHandler
|
|
|
|
TestUtil.AssertEqual(Round(0.12335,4), 0.1234, "Round(0.12335,4)")
|
|
TestUtil.AssertEqual(Round(0.12345,4), 0.1234, "Round(0.12345,4)")
|
|
TestUtil.AssertEqual(Round(0.12355,4), 0.1236, "Round(0.12355,4)")
|
|
TestUtil.AssertEqual(Round(0.12365,4), 0.1236, "Round(0.12365,4)")
|
|
|
|
Exit Sub
|
|
errorHandler:
|
|
TestUtil.ReportErrorHandler("verify_roundCompatibility", Err, Error$, Erl)
|
|
End Sub
|