Добавить / согласовать несколько значений ushort
Я работаю над приложением 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, но длина и начальные нулевые значения не являются фиксированными, поэтому этот вариант также не соответствует моим требованиям.
Я хотел бы знать, как я могу достичь того же, любые небольшие входы на то же самое также высоко ценится.
Заранее спасибо.
4 ответа
ushorts
не способны хранить числа с ведущими нулями. В его глазах 45
а также 045
такое же точное число.
Я рекомендую вам просто хранить числа в виде строк, например так:
var a = "123";
var b = "045";
var c = "607";
var d = "008";
Это особенно легко сделать, если вы получаете эти вещи из консоли.
Вы хотите, чтобы все ваши числа были отформатированы с использованием 3 цифр, с начальными нулями, если это необходимо. Глядя на строки стандартного числового формата, вы получите это:
var temp = a.ToString("D3") + b.ToString("D3") + ...
Вместо присвоения значений ushort присвойте ему строку или переменную.
например: строка a="123"; строка b="011" и т. д. или var a="123" и т. д.
тогда var temp = a+b+... это будет работать. Нет данных хранения значений Ushort, ведущих с нуля. Спасибо
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.