C# 删除小数中的尾随零
我想去掉小数点后的零。它从DB加载,精度为5 我使用的是逗号(,)是小数点的区域性 例如:C# 删除小数中的尾随零,c#,.net,string,format,decimal,C#,.net,String,Format,Decimal,我想去掉小数点后的零。它从DB加载,精度为5 我使用的是逗号(,)是小数点的区域性 例如: 1000050->100005 1000000->10 000000->0 000001->000001 我可以使用科学符号,但我在任何时候都不想要科学符号 BR,m.试试“N”,如果数字是1000或更高,它会添加逗号。可能有更优雅的解决方案,但这对字符串有效 string[] decimals = { "10,00050",// -&g
- 1000050->100005
- 1000000->10
- 000000->0
- 000001->000001
BR,m.试试“N”,如果数字是1000或更高,它会添加逗号。可能有更优雅的解决方案,但这对字符串有效
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' })));
}
你可以使用
1000000->10这将留下一个尾随的零。打字错误?@PeteOakey可能不会,因为它在小数点之前。(我假设OP使用的区域性带有
,
作为小数点。@PeteOakey他指的是小数分隔符右侧的尾随零。确定-在这种情况下,逗号是小数分隔符。我已更新了问题以反映这一点。我建议在两种stringdecimal转换中指定不变量区域性
。我不建议这样做锈菌培养。这不太正确:它将四舍五入到12.45679。假设小数点是456789000。如何将其格式设置为12.456789?@ReacherGilt“从DB加载,精度为5。”“您的示例为精度6”
decimal d = 12.45600m;
d.ToString("0.#####");