![]() |
Delphi Tip of the Day - Rounding (Again!)
It's been over 7 years since I dove into the mystical world of rounding numbers within Delphi. It's amazing how much code actually gets written in support of the main stuff an application does. I am so glad I wrote my blog... it's the one place I can go back to when I find gaps from my hard drive crash of 2018.
I ran into the old familiar rounding issue - again. And of course, I didn't have the code I used to get it squared away. My original blog post from 7 years ago, " ![]() And as usual David Heffernan gave... So I wen back to the ![]() ![]() {---------------------------------------------------------------} { Added 2019-08-07 } { } { Used to solve the Delphi's rounding function. } { } { ![]() { ![]() {---------------------------------------------------------------} Function RoundTo2dp (Value: Currency): Currency; begin Result := Trunc(Value*100+IfThen(Value>0, 0.5, -0.5))/100; end; So, I added the code to my StrStuff unit. (Does everyone have a StrStuff unit or is it just me?) And it did not compile. So when I got done cussing out Heffernan for putting out bum code, I did some digging. It turns out there are two IfThen functions. One in the SystemStrUtils unit and the other one in the System.Math unit. And of course, I chose the wrong unit. This specific IfThen function is from Systems.Math This specific IfThen function is from the System.Math unit: unit Strstuff; interface uses System.Sysutils, System.Math; Function RoundTo2dp (Value: Currency): Currency;And of course after I put the correct unit in the uses clause it worked like a champ. I must admit, it felt good cussing out Heffernan. But as usual... he's right. Again! Thank you David. Enjoy! Semper Fi Gunny Mike ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz