Alan1234 Posted October 1, 2017 Share Posted October 1, 2017 After using Int(expression) message box shows a number, for example the number 6. How can I show a leading zero to represent the Tens digit, for example the number 06? Link to comment Share on other sites More sharing options...
water Posted October 1, 2017 Share Posted October 1, 2017 Try function StringFormat. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
Alan1234 Posted October 1, 2017 Author Share Posted October 1, 2017 If I use StringFormat won't that make it a string? I want the result to be a number with a leading zero. Does StringFormat do this? Link to comment Share on other sites More sharing options...
Developers Jos Posted October 1, 2017 Developers Share Posted October 1, 2017 Yes it makes it a string as values never have leading zero's. So what are you trying to solve here? Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Alan1234 Posted October 1, 2017 Author Share Posted October 1, 2017 Just trying to show an integer below the number 10 with a leading zero to represent the Tens digit or hundreds digit like in Excel. From your comment I take it that AutoIt cannot do this. Link to comment Share on other sites More sharing options...
water Posted October 1, 2017 Share Posted October 1, 2017 The internal representation of a number and the format when displaying this number are two different things (as they are in Excel as well). Use StringFormat before you display the integer. This does not affect the internal representation. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
AspirinJunkie Posted October 1, 2017 Share Posted October 1, 2017 $d_Number = 6 $s_Number = StringRight("00" & $d_Number, StringLen($d_Number) > 2 ? StringLen($d_Number) : 2) MsgBox(0,"", $s_Number) $d_Number = 15 $s_Number = StringRight("00" & $d_Number, StringLen($d_Number) > 2 ? StringLen($d_Number) : 2) MsgBox(0,"", $s_Number) $d_Number = 115 $s_Number = StringRight("00" & $d_Number, StringLen($d_Number) > 2 ? StringLen($d_Number) : 2) MsgBox(0,"", $s_Number) Link to comment Share on other sites More sharing options...
Alan1234 Posted October 1, 2017 Author Share Posted October 1, 2017 (edited) Agreed! Thanks for your comments. Aspirinjunkie: Thanks for example scripts. Edited October 1, 2017 by Alan1234 Link to comment Share on other sites More sharing options...
Gianni Posted October 1, 2017 Share Posted October 1, 2017 (edited) using StringFormat (as already suggested in post #2) Local $iWantedDigits = 2 ; <-- choose wanted length For $i = 0 To 15 ConsoleWrite(_Leading0($iWantedDigits, $i) & @CRLF) Next ; returns the passed number formatted ; with a length of $iNrDigits with leading zero Func _Leading0($iNrDigits, $iNum) Return StringFormat('%0' & $iNrDigits & 's', $iNum) EndFunc ;==>_Leading0 Edited October 1, 2017 by Chimp llc 1 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
AspirinJunkie Posted October 1, 2017 Share Posted October 1, 2017 omg - i mixed up two different cases (leading zeros vs. trailing zeros). Yes of course - stringformat is the preferred choice for the case of leading zeros. @Alan1234 Don't be confused with my "solution" - use stringformat as already mentioned. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now