当我将两个整数相除时,如何将百分比作为字符串保留到小数点后一位?

时间:2018-11-05 04:45:26

标签: c#

这就是我现在正在使用的:

 var pc = (p * 100/ c).ToString();

p和c都是整数,但是我不确定如何获得答案,例如:

 43.5% 

希望我能做些建议。

1 个答案:

答案 0 :(得分:2)

您需要将值显式转换为非整数形式,例如加倍,或在计算中使用非整数。

例如:

var pc = (p * 100/ (double)c).ToString();

或这个(不是100.0,而不是100):

var pc = (p * 100.0/ c).ToString();

接下来,您需要舍入结果:

var pc = Math.Round(p * 100 / (double)c, 1).ToString();

但是正如Tetsuya指出的那样,您可以使用P1格式的字符串(它将输出5.0%(取决于文化)-对于p = 5,c = 100):

var pc = (p / (double)c).ToString("P1");