我正在研究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方法但是长度和前导零计数没有修复,因此该选项也不符合我的要求。
我想知道如何实现同样的目标,同样的任何小输入也非常感激。
提前致谢。
答案 0 :(得分:0)
您希望所有数字都使用3位数字格式化,如果需要,可以使用前导零。看Standard Numeric Format Strings你就明白了:
var temp = a.ToString("D3") + b.ToString("D3") + ...
答案 1 :(得分:0)
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。
答案 2 :(得分:0)
ushorts
无法存储前导零的数字。在它的眼里,45
和045
是完全相同的数字。
我建议您只将数字存储为字符串,如下所示:
var a = "123";
var b = "045";
var c = "607";
var d = "008";
如果从控制台获取这些内容,这将非常容易。
答案 3 :(得分:0)
不是将值赋给ushort,而是将其分配给string或var。
例如:string a =" 123&#34 ;; string b =" 011"等或var a =" 123"等
然后var temp = a + b + ...这将有效。没有Ushort值存储以Zero为前导的数据。 谢谢