我需要编写很多数字格式,我希望它们可以轻松阅读但我的用户。我需要:
我想出的最好的是这段代码:
private string RoundToString(double d)
{
return Double.IsNaN(d) ? "Out Of Bounds" : d.ToString("N" + (int)numUpDownRoundValue.Value);
}
但如果舍入很高,我会得到很多无用的0
:
182,0000000000 370,5000000000 370,5444319880 121,0000000000 517,0000000000 5 949 090,8555680300
105,3700000000 158,2750000000 165,4869516069 74,1850000000 245,4200000000 2 656 893,0080484100
107 277,0000000000 109 452,0000000000 110 879,4795092180 100 261,0000000000 119 221,0000000000 1 780 170 043,5204900000
我也尝试过这个:
private string RoundToString(double d)
{
return Double.IsNaN(d) ? "Out Of Bounds" : Math.Round(d, (int)numUpDownRoundValue.Value).ToString("N");
}
但是N
选项提前到达(精度损失)
我想要的是什么:
182 370,5 -- 370,5444319880 -- 121 517 -- 5 949 090,85556803
105,37 -- 158,275 -- 165,4869516069 -- 74,185 -- 245,42 -- 2 656 893,00804841
107 277 -- 109 452 -- 110 879,479509218 -- 100 261 119 221 -- 1 780 170 043,52049
换句话说,我想要千位分隔符,没有无用的零。
答案 0 :(得分:1)
如果您希望最多超过十进制的10位数但不想使用训练零:
d.ToString("#,##0."+new string('#',(int)numUpDownRoundValue.Value))
答案 1 :(得分:0)