使用前导空格将十进制值格式化为string
在逗号/点之后,如何将十进制值格式化为一个数字的string,并且值小于100的前导空格?
例如, 12.3456
的十进制值应该以单引导空格输出为" 12.3"
。 10.011
将是" 10.0"
。 123.123
是"123.1"
我正在寻找一个解决scheme,与标准/自定义string格式,即
decimal value = 12.345456; Console.Write("{0:magic}", value); // 'magic' would be a fancy pattern.
这种模式{0,5:###.0}
应该工作:
string.Format("{0,5:###.0}", 12.3456) //Output " 12.3" string.Format("{0,5:###.0}", 10.011) //Output " 10.0" string.Format("{0,5:###.0}", 123.123) //Output "123.1" string.Format("{0,5:###.0}", 1.123) //Output " 1.1" string.Format("{0,5:###.0}", 1234.123)//Output "1234.1"
value.ToString("N1");
更改数字更多小数位。
编辑:错过了填充位
value.ToString("N1").PadLeft(1);
以上所有的解决scheme都会进行十进制舍入,以防有人在四舍五入的情况下寻找解决scheme
decimal dValue = Math.Truncate(1.199999 * 100) / 100; dValue .ToString("0.00");//output 1.99