我正在将数据输入到文本字段中,需要将其显示为百分比。是否有函数可以执行此操作?
例如:在我的列中,我有值 "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值)0.2
会变成 20.00%
,如果我没记错的话)- 使用 “p0” 可能更好。 - Marc Gravellvar percentageString = double.Parse(doubleString).ToString("p1");
现在,你们中的一些高傲自大的人可能会说,在这种情况下使用十进制是正确的类型。
好吧,如果你需要额外的12-13位数字精度,那么是的。
然而,我们真正的人民(我一直坚持保持真实)对双精度浮点数的15-16位数字精度感到满意。
真正的选择是你的代码首先使用双精度浮点数还是十进制。如果你的代码使用双精度浮点数,请坚持使用双精度浮点数。如果使用了十进制,则应坚持使用十进制。你绝对不要多次转换两者之间,因为那里有风险。和意外的运行时错误可能会破坏你的数据。但主要是因为那里有风险。