我想输出一个表示百分比的浮点数,如下所示:
float fPct = 0.995f; // I want 000099% as output.
现在使用:
string str = fPct.ToString("000000%"); // But this gives me 000100%.
如何防止舍入?
答案 0 :(得分:1)
您可以使用Math.Truncate
删除小数部分,但您必须自己转换为百分比:
float fPct = 0.995f;
string str = Math.Truncate(fPct * 100).ToString("000000") + "%"; // 000099%
// or
string str = $"{Math.Truncate(fPct * 100):000000}%"; // 000099%
请注意,这与仅转换为int
:
float fPct = 0.995f;
string str = $"{(int)(fPct * 100):000000}%"; // 000099%
答案 1 :(得分:0)
您可以执行类似
的操作 (0.995f * 100).ToString().PadLeft(8, '0') + "%"
这会产生"000099.5%"
不确定是否需要丢弃5
。
您乘以100
因为您将要提供百分比,但您有比率。