将文本数据转换为C#中的百分比

svs*_*svs 3 c#

我将数据输入文本字段,我需要将其显示为百分比.是否有执行此功能的功能?

例如:在我的专栏中我有"0.5", "0.1","0.2","0.25"等等,需要显示为 50%,10%,20%,25%等等,最好的方法是什么?

Jon*_*eet 10

您应该分两个阶段执行此操作:

  • 将文本解析为数字,这样您就可以将值作为"真实"类型.(作为一般规则,尽可能早地从文本中解析,并尽可能晚地格式化为字符串......使用自然类型,两者之间的操作将更加简单.)
  • 使用百分比的标准数字格式字符串数字格式化百分比

所以:

decimal percentage = decimal.Parse(input);
string output = percentage.ToString("p0");
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 你应该考虑输入和输出文化; 你总是希望用"." 作为小数分隔符,例如?
  • 使用decimal而不是double准确地表示文本中的值(例如,文本可能具有"0.1"但double不能保持恰好0.1的值)
  • 您可以在格式化中添加所需精度等内容; 有关详细信息,请参阅链接的文档; 例如,该示例仅给出整数百分比

  • "p"往往在末尾有额外的小数('0.2`将变为'20.00%`IIRC) - "p0"可能更可取 (2认同)