用字符串格式伪造小数

Faking decimal with string format

我目前在一个小的 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);

尝试使用“{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