如何解决如何格式化数据
| 我从数据库中获取以下值: 99,12,12.2222,54.98,56,17.556 现在,我想显示如下所示的值: 99%,12%,12.22%,54.98%,56%,17.55% 请给我任何建议以实现这一目标。解决方法
在C#中非常简单:
[编辑]
var val = 99.569;
string result = string.Format(\"{0:0.##}%\",val);
您可以看一下字符串类的Format
方法:
http://msdn.microsoft.com/en-us/library/fht0f5be.aspx
我建议您看一下自定义格式字符串:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
, 使用采用字符串格式的ToString方法-所需的格式为\“ P2 \”或自定义格式#0。##%。这两个格式选项都乘以100,期望您的数据采用标准百分比格式,因此您将需要除以accomadate并使用它。
要使用不带分隔符的ToString,可以使用\“#0。## \\%\”,它会格式化数字部分并以百分号作为升位,这与Toton等价于Anton Semenov \在此线程上使用string.Format函数的答案。
MSDN文章-标准格式
MSDN文章-自定义格式
, 至formart 12.2222使用f
string.Format(\"{0:f}%\",12.2222); //output 12,22%
, 试试这个
List<double> myList = new List<double>();
myList.Add(0.1234);
myList.Add(99);
myList.Add(12.1234);
myList.Add(54.98);
foreach (double d in myList)
{
string First = string.Format(\"{0:0.00%}\",d); //Multiply value by 100
Console.WriteLine(First);
string Second = string.Format(\"{0:P}\",d);//Multiply value by 100
Console.WriteLine(Second);
string Third = string.Format(\"{0:P}%\",d.ToString());//Use this One
Console.WriteLine(Third);
string Four = d.ToString() + \"%\"; //Not a good idea but works
Console.WriteLine(Four);
Console.WriteLine(\"=====================\");
}
Console.ReadLine();
我在这里做了一个小技巧,{0:P}将给定值乘以100,然后显示出来,但是您只想在值后放置一个%号,因此首先将给定值转换为TOString而不是应用{0:p}
, 如果要将小数位数指定为2(即不是12.2222%,而是12.22%),请使用:
val.ToString(\"0.00\") + \"%\"
请注意,这将舍入数字,因此12.226将显示为12.23%,依此类推。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。