我正在做C#应用程序(.Net 4.0)。在某些情况下,我想要附加多个ushort值,如下所述
Ushort a = 123;
Ushort b = 045;
Ushort c = 607;
Ushort d = 008;我希望结果是12304560700。
目前采用以下方法
var temp = Convert.ToString(a) + Convert.ToString(b) + Convert.ToString(c) + Convert.ToString(d);我得到的临时值是123456078。
我确实理解由于ushort数据类型,它消除了所有的前导零。但我希望结果是12304560700。
我可能使用了padleft方法,但是长度和前导零计数不是固定的,所以这个选项也不适合我的要求。
我想知道我怎样才能达到同样的效果,对同样的小投入也是非常感谢的。
提前谢谢。
发布于 2017-05-04 13:47:07
您希望所有数字都使用3位数字进行格式化,如果需要,还可以使用前导零。看看Standard Numeric Format Strings,你会得到这样的结果:
var temp = a.ToString("D3") + b.ToString("D3") + ...发布于 2017-05-04 13:48:15
int a = 123;
int b = 045;
int c = 607;
int d = 008;为什么你不能这样做呢?结果不就是你想要的吗?
int temp = a.ToString() + b.ToString() + c.ToString() + d.Substring(d.Length - 2);结果为12304560700。
发布于 2017-05-04 13:51:03
ushorts不能存储带有前导零的数字。在它的眼中,45和045是完全相同的数字。
我建议您只将数字存储为字符串,如下所示:
var a = "123";
var b = "045";
var c = "607";
var d = "008";如果您从控制台获取这些内容,这一点尤其容易做到。
https://stackoverflow.com/questions/43774616
复制相似问题