用字符串格式伪造十进制

时间:2018-05-22 18:53:24

标签: c# string format string-formatting

我目前在一个小型的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 :(得分:5)

尝试" {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