make $8000000 a valid long integer (-2147483648)

This commit is contained in:
Irmen de Jong
2025-11-26 23:10:59 +01:00
parent e78345410f
commit b1ef863c7f
12 changed files with 118 additions and 54 deletions

View File

@@ -14,8 +14,11 @@ fun Number.toHex(): String {
// larger -> "$12345678"
// negative values are prefixed with '-'.
val integer = this.toLong()
if(integer<0)
if(integer<0) {
if(integer==-2147483648L)
return "$80000000" // the exception to the rule, because -$80000000 is not a valid hex number
return '-' + abs(integer).toHex()
}
return when (integer) {
in 0 until 16 -> integer.toString()
in 0 until 0x100 -> "$"+integer.toString(16).padStart(2,'0')