繁体   English   中英

将Decimal转换为非默认格式的字符串

[英]Converting Decimal to string with non-default format

我需要将十进制转换为字符串,在此标尺中:

120.00 - "120"
120.01 - "120.01"
120.50 - "120.50"

您可以使用decimal.ToString覆盖来指定格式。

decimal amount = 120.00m;
string str = amount.ToString("0.00");

使用String.Format时也可以使用它。

Console.WriteLine("{0:0.00}", amount); 

在第一条规则的情况下,不能在一行上完成。

decimal amount = 120.00m;
string str = amount.ToString("0.00").Replace(".00", String.Empty);

decimal.ToString有不同的重载基于您想要的格式。

decimal d = 5.00
Console.WriteLine(d.ToString("C")); // for currency

请参阅下面的其他重载... specifier是您放入ToString(specifier)

关于Decimal.ToString的MSDN文档

十进制值= 16325.62m; 字符串说明符;

// Use standard numeric format specifiers.
specifier = "G";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    G: 16325.62
specifier = "C";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    C: $16,325.62
specifier = "E04";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    E04: 1.6326E+004
specifier = "F";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    F: 16325.62
specifier = "N";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    N: 16,325.62
specifier = "P";
Console.WriteLine("{0}: {1}", specifier, (value/10000).ToString(specifier));
// Displays:    P: 163.26 %

// Use custom numeric format specifiers.
specifier = "0,0.000";
Console.WriteLine("{0}: {1}", specifier, value.ToString(specifier));
// Displays:    0,0.000: 16,325.620
specifier = "#,#.00#;(#,#.00#)";
Console.WriteLine("{0}: {1}", specifier, (value*-1).ToString(specifier));
// Displays:    #,#.00#;(#,#.00#): (16,325.62)

使用, decimal.ToString()方法。 如果需要,您可以使用该方法指定格式:

decimal d = 120.00;
string ds = d.ToString("#,#.00#");
// ds is a formated string of d's value

您可以使用decimal.Tostring()方法

请通过此链接获取更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM