use*_*117 4 .net c# string-formatting
我需要将数字字符串格式化为小数点两边最多2个位置,即使这意味着截断或截断前导数字(这是一个很长的故事,不要问).在MSDN上,它意味着可以使用井号(#)完成:
""#"自定义格式说明符用作数字占位符符号.如果格式化的值在格式字符串中出现井号的位置有一个数字,则该数字将复制到结果字符串.否则,没有任何东西存储在结果字符串中的那个位置."
但在实践中,似乎只能在小数点右侧工作.如果我这样做:
String s = " Test - " + String.Format("format0 = {0:0.##}, format1 = {1:#.##}, format2 = {2:##.###}",321.2345, 321.2345, 321.2345);
Run Code Online (Sandbox Code Playgroud)
我得到s的这个输出:
"测试 - 格式0 = 321.23,格式1 = 321.23,格式2 = 321.235"
...注意"0.##"和"#.##"产生相同的输出.那么当它位于小数点左侧时,"#" 究竟是什么意思呢?
为了解释您引用的文档,#使该位置的数字可选.如果该号码在该位置有一个重要数字,它将被打印; 否则它不会.
看看这个例子:
String.Format("{0:0.##}, {0:#.##}", 0.5)
Run Code Online (Sandbox Code Playgroud)
这将输出
0.5, .5
Run Code Online (Sandbox Code Playgroud)
或许是一个更明确的例子:
String.Format("{0:000.000}, {0:###.###}", 0.5)
Run Code Online (Sandbox Code Playgroud)
这将输出
000.500, .5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |