我将数据输入文本字段,我需要将其显示为百分比。有没有执行此功能的功能?
例如:在我的专栏中,我有"0.5", "0.1","0.2","0.25"
等,需要显示为
50%,10%,20%,25%
等,最好的方法是什么?
答案 0 :(得分:10)
您应该分两个阶段完成此操作:
所以:
decimal percentage = decimal.Parse(input);
string output = percentage.ToString("p0");
注意:
decimal
而不是double
来准确表示文本中的值(例如,文本可能为“0.1”,但double
无法保持0.1的值)答案 1 :(得分:4)
最简单的方法是解析它(必须是双精度),然后将其转换回字符串,将其格式化为百分比。
var percentageString = double.Parse(doubleString).ToString("p1");
现在,你们中的一些 hoity-toity类型可能会说decimal是在这种情况下使用的正确类型。
嗯,是的,如果您需要额外的 12-13位精度。
然而,我们大多数人真正的民间(而且我都是为了保持真实)并没有double's 15-16位精度。
真正的选择是您的代码是否首先使用双精度或小数。如果你在代码中使用双打,只需坚持使用双打。如果是小数,则坚持小数。你肯定做想要避免的是必须在两者之间转换,而不是绝对必要,因为有龙。和意外的运行时错误可能会破坏您的数据。但主要是龙。