使用自定义字符串格式为十进制数c#

时间:2017-03-11 08:56:43

标签: c# .net formatting string-formatting number-formatting

我在数据库中得到了一个带有4位小数的十进制值,但我需要在后面显示千位分隔符的格式而不显示0。我试过G,F,N格式,但我没有找到我想要的结果的线索。

1234.3456          // 1,234.3456
1234.0000          // 1,234.00
1234.3450          // 1,234.345
1234.345678        // 1,234,3457
1234               // 1,234.00
1234.2             // 1,234,20

2 个答案:

答案 0 :(得分:0)

这里很容易就是这个问题的例子。如果它解决了你的问题,请不要忘记标记答案:)

i = n  , 1  => j = lg n  | 1+lg (n) 
i = n/2, 1  => j = lg n/2 | 1+lg (n/2)
i = 1  , 1  => j = 0      | 1

答案 1 :(得分:0)

实际上,Decimal.ToString的MSDN页面在上一个示例中几乎非常显示您的需求。

  

specifier =“#,#。00#;(#,#。00#)”

所以只需删除否定格式,并在最后添加额外的#即可: specifier = "#,#.00##"

刚尝试过:

decimal[] decimals = {1234.3456M, 1234.0000M, 1234.3450M, 1234.345678M, 1234, 1234.2M};
string[] formattedDecimals = decimals.Select(d => d.ToString(specifier)).ToArray();