追加/ Concat多个ushort值
我正在C#应用程序(.Net 4.0)上工作。在某些情况下,我想下面追加/ Concat多个ushort值
Ushort a = 123;
Ushort b = 045;
Ushort c = 607;
Ushort d = 008;
提到要追加多个USHORT价值观和我想要的结果为12304560700.
目前可以和下面的方法
var temp = Convert.ToString(a) + Convert.ToString(b) + Convert.ToString(c) + Convert.ToString(d);
我得到的温度值作为123456078.
我明白,由于ushort数据类型,它消除了所有的前导零。但我期待的结果为12304560700.
我可能使用了padleft方法,但长度和前导零计数没有修复,所以该选项也不适合我的要求。
我想知道我怎么能达到同样的效果,同样的任何小投入也非常感谢。
在此先感谢。
你想要所有的数字格式化为3位数字,如果需要前导零。看着Standard Numeric Format Strings你得到这样的:
var temp = a.ToString("D3") + b.ToString("D3") + ...
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.
当然不是。 045与45相同,不需要打印三位数字,只需两位。因此:b.ToString() - >“45”不是“045”。 – themiurge
ushorts
不能够与前导零存储号码的。在它的眼中,45
和045
是相同的确切数字。
,我建议你到数字只是存储为字符串,像这样:
var a = "123";
var b = "045";
var c = "607";
var d = "008";
,这是特别容易,如果你是从控制台获得这些事情要做。
也许是这样的,如果你知道有3个数字,则可以使用下面的代码:\t $“{a.ToString(”d3“)} {b.ToString(”d3“)} {c.ToString(”d3“)} {d。 。的ToString( “D3”)}”转储(); – loneshark99
而不是分配值给ushort分配给字符串或var。
例如:string a =“123”;字符串b =“011”等或var a =“123”等
然后var temp = a + b + ...这将工作。没有Ushort存储数据以零开头。 谢谢
你从哪里得到ushort?用户输入? – Sweeper
不完全是用户输入,而是来自某些连接在局域网中的硬件设备。 – Vsagar
你能证明你究竟是如何获得价值的?因为'ushort's不能存储前导0的东西。你必须使用另一种数据类型。什么样的硬件设备?这些数字代表什么? – Sweeper