将十进制值格式化为带前导空格的字符串
问题描述:
如何在小于100的逗号/点和前导空格之后将十进制值格式化为单个数字的字符串?将十进制值格式化为带前导空格的字符串
例如,一个十进制值12.3456
应输出为" 12.3"
单引号空格。 10.011
将是" 10.0"
。 123.123
是"123.1"
我正在寻找一个解决方案,即兼容标准/自定义字符串格式化,即
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"
答
所有上述解决方案将做小数的四舍五入,以防万一有人不四舍五入
正在寻找解决方案
decimal dValue = Math.Truncate(1.199999 * 100)/100;
dValue .ToString("0.00");//output 1.99
它当然是!谢谢! :) –
这是否有一个很好的参考?即如果我的用例略有不同,每个部分都会做什么。 – tjrobinson
@tjrobinson一切都在MSDN上:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx和http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx – nemesv