Подделка десятичного числа в строковом формате - PullRequest
0 голосов
/ 22 мая 2018

В настоящее время у меня есть следующие длинные значения в небольшой программе на C #.

long one = 1;
long two = 1005;
long three = 100000005;
long four = 1111112258552;

Я хочу отформатировать их в строку, чтобы они составляли тысячную часть размера без деления значений на тысячу.

Пример

Input               :               Output
1                                    0.001
1005                                 1.005
100000005                       100000.005
1111112258552               1111112258.552

Я пробовал строковые форматы, такие как {0:0,000} и {0:0.000}, но также не предоставил результат, к которому я стремился.

Как мне добиться результатаЯ после?Любые советы или указатели будут оценены


Некоторые примеры кода

long one = 1;
long two = 1005;
long three = 100000005;
long four = 1111112258552;

string format = "{0:0,000}";
string s1 = String.Format(format, one);
string s2 = String.Format(format, two);
string s3 = String.Format(format, three);
string s4 = String.Format(format, four);

Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
Console.WriteLine(s4);

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте "{0: 0, .000}" для вашего формата.

long one = 1;
long two = 1005;
long three = 100000005;
long four = 1111112258552;
string format = "{0:0,.000}";
string s1 = String.Format(format, one);
string s2 = String.Format(format, two);
string s3 = String.Format(format, three);
string s4 = String.Format(format, four);

Console.WriteLine(s1);
Console.WriteLine(s2);
Console.WriteLine(s3);
Console.WriteLine(s4);

Вывод на консоль:

0.001
1.005
100000.005
1111112258.552

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings#the--custom-specifier-2

...