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