我想删除小数的拖尾零。它从 DB 加载,精度为 5。
我正在使用逗号 (,) 是小数点的文化。
例如:
- 10,00050 -> 10,0005
- 10,00000 -> 10
- 0,00000 -> 0
- 0,00001 -> 0,00001
我可以使用通用(“G”)格式说明符,但我在任何时候都不想要科学记数法。
BR,米。
您可以使用自定义数字格式字符串
decimal d = 12.45600m;
d.ToString("0.#####");
可能有更优雅的解决方案,但这适用于字符串。
string[] decimals = {
"10,00050",// -> 10,0005
"10,00000",// -> 10
"0,00000",// -> 0
"0,00001",// -> 0,00001
};
foreach (string dec in decimals)
{
Console.WriteLine(" {0} -> {1}", dec, decimal.Parse(dec.TrimEnd(new char[] { '0' })));
}
试试“N”,如果数字是一千或更高,它会添加逗号。