gpt4 book ai didi

c# - 将字符串转换为可排序的数字

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:16 24 4
gpt4 key购买 nike

是否有任何方法可以将字符串值(任何内容)转换为数字,以便它们都以相同的方式排序?我不需要能够将数字转换回字符串。事实上,如果无法将其转换回来,这将是一个优势。

我不需要能够对任何长度的字符串进行排序。如果将 64 位长整数用作排序值,那么我可以将文本修剪为适合此数字范围的值。

最佳答案

我认为不可能有 100% 正确的方法,因为对字符串进行排序取决于文化。例如

int c1 = String.Compare("AA", "BB", false, CultureInfo.GetCultureInfo("en-US")); //return -1
int c2 = String.Compare("AA", "BB", false, CultureInfo.GetCultureInfo("da-DK")); //return 1

我能想到的最接近的是:

ulong l = BitConverter.ToUInt64(Encoding.UTF8.GetBytes(str), 0);

PS:如果 len 小于 8,则填充 str

关于c# - 将字符串转换为可排序的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24479531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com