在Python中将字符串转换为十进制

2 投票
2 回答
1462 浏览
提问于 2025-04-17 22:47

我们可以使用以下函数将一个datetime值转换成小数。

import time
from datetime import datetime

t = datetime.now()
t1 = t.timetuple()

print time.mktime(t1)

输出结果:

Out[9]: 1395136322.0

同样,有没有办法用Python将字符串转换成decimal呢?

示例字符串:

"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"

2 个回答

3

如果你想用一个整数来唯一标识一个字符串,我建议你使用哈希函数,比如SHA。它们对于相同的输入总是会返回相同的值。

import hashlib
def sha256_hash_as_int(s):
    return int(hashlib.sha256(s).hexdigest(), 16)

如果你使用的是Python 3,首先需要把s编码成某种具体的编码格式,比如UTF-8。

另外,可以看看hashlib这个模块,想想你是否真的需要一个整数,或者hexdigest()的输出是否也可以满足你的需求。

0

你可以使用 hash 函数:

>>> hash("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0")
1892010093

撰写回答