0
我要输出所占的百分比的浮动如下:持股量百分比四舍五入
float fPct = 0.995f; // I want 000099% as output.
现在用途:
string str = fPct.ToString("000000%"); // But this gives me 000100%.
我怎样才能防止四舍五入?
我要输出所占的百分比的浮动如下:持股量百分比四舍五入
float fPct = 0.995f; // I want 000099% as output.
现在用途:
string str = fPct.ToString("000000%"); // But this gives me 000100%.
我怎样才能防止四舍五入?
你可以做这样的事情
(0.995f * 100).ToString().PadLeft(8, '0') + "%"
这将产生"000099.5%"
不知道你需要放弃5
,虽然。
您可以通过100
乘,因为你即将呈现%的,但你有一个比。
您可以使用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%
是否有你使用'float'而不是'double'或'decimal'的原因? – crashmstr
不需要全精度。 – Ron