When I run:

``````dec = 255
print hex(dec)``````

I get 0xff, but I like to get just 'ff'

## All 7 Replies

This should do what you want:

``print "%x" % 255``

When I run:

``````dec = 255
print hex(dec)``````

I get 0xff, but I like to get just 'ff'

'0x' always appears in front, so if you want to use hex() and get rid of 0x, use hex(255)[2:]

``````a=input("enter number in decimal :")

def cal(a):
if a<10:
b=str(a)
elif a==10:
b="A"
elif a==11:
b="B"
elif a==12:
b="C"
elif a==13:
b="D"
elif a==14:
b="E"
else:
b="F"
return b
b=a
L1=""
while True:
c=b%16
if b<16:
L1=L1+cal(c)
break
else:
L1=L1+cal(c)
b=b/16
c=""
for i in reversed(L1):
c=c+i
print c``````

this might be a bit cleaner than warunn's code

``````h=[str(i) for i in range(10)]+["A","B","C","D","E","F"]

def hexa(dec):
s=""
while dec:
s+=h[dec%16]
dec//=16
return s[::-1]
``````

``````d = 30
hex(d).split('x')
'1e'
``````

hex(d)[2:]

The other question is, does your hex string convert back to decimal?

``````a = 255

hx = hex(a)
print(hx)
print(int(hx, 16))

hx = hex(a)[2:]
print(hx)
print(int(hx, 16))

''' output -->
0xff
255
ff
255
'''
``````
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.