【发布时间】:2015-09-30 22:00:23
【问题描述】:
每当我得到一个 11 位数字(如 12345678901、82344678971 等)时,我总是想将其分成 4 个部分,即 5digits-4digits-1digit-1digit。所以:
12345678901 -> 12345 6789 0 1
82344674971 -> 82344 6749 7 1
我在 SOF 中看到了一个类似的问题,但它使用常规块;即相同位数:Splitting a string / number every Nth Character / Number?
我想要一个函数,它将任何 11 位(长)整数作为参数,并以上述方式返回;从哪里我可以得到我想要的任何块:例如,SplitInParts(1) 将返回 12345; SplitInParts(2) 将返回 6789; SplitInParts(3) 将返回 0; SplitInParts(4) 将返回 1。对于 82344674971 类似:分别为 82344、6749、7、1。
作为 C# 的新手,我无法通过 C# 实现上述操作。
【问题讨论】:
-
你可以查找函数
Substring。 -
它们存储在什么类型中?您是否关心性能而不是可读性?
-
11 位数字
ints 不存在。您可能想要long或string。 -
@EmpereurAiman,我很清楚这一点;这就是为什么我在问题中将整数类型指定为“(long)”。
-
@ap,我更喜欢具有“性能”的解决方案,因为我稍后会将上面的解决方案嵌入到非常复杂的工作中。但是,目前,由于我对 C# 非常陌生,因此我有一种“任何”解决方案的心情。