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