gpt4 book ai didi

c# - 在 C# 中,将数字有规律地不规则地拆分成其数字的许多部分?

转载 作者:行者123 更新时间:2023-11-30 19:24:52 24 4
gpt4 key购买 nike

每当我得到一个 11 位数字(如 12345678901、82344678971 等)时,我总是想将它分成 4 个部分,即 5digits-4digits-1digit-1digit。所以:
12345678901 -> 12345 6789 0 1
82344674971 -> 82344 6749 7 1

我在 SOF 中看到了类似的问题,但它使用的是常规 block ;即相同位数:Splitting a string / number every Nth Character / Number?

我想要一个函数,它将任何 11 位(长)整数作为参数,并按上述方式返回;从那里我可以获得我想要的任何 block :例如,SplitInParts(1) 将返回 12345; SplitInParts(2) 将返回 6789; SplitInParts(3) 将返回 0; SplitInParts(4) 将返回 1。对于 82344674971 类似:分别为 82344、6749、7、1。

作为 C# 的新手,我无法实现如何通过 C# 执行上述操作。

最佳答案

这是 long 的扩展方法,其工作方式与您提供的示例类似,我认为它的可读性很强,尽管它的性能可能不如其他解决方案。

public static class LongExtensions
{
public static int SplitIntoIrregularParts(this long longNumber, int partIndexToReturn)
{
int[] blocks = string.Format("{0:##### #### # #}", longNumber).Split(' ').Select(x => int.Parse(x)).ToArray();
return blocks[partIndexToReturn];
}
}

关于c# - 在 C# 中,将数字有规律地不规则地拆分成其数字的许多部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32876313/

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