C#中的String.Format

Ste*_*n L 1 c# string.format

我有像这样的价值观

1,000
25,000
500,000
Run Code Online (Sandbox Code Playgroud)

如果没有逗号,需要转换上面的值

1000
25000
500000
Run Code Online (Sandbox Code Playgroud)

如何在C#中实现这一目标?

如何得到这个的反向输出 -

string.Format("{0:n}", 999999)
Run Code Online (Sandbox Code Playgroud)

Gia*_*una 7

你可以Replace像这样使用字符串类的功能:

string str = "25,000";
str = str.Replace(",", "");
Run Code Online (Sandbox Code Playgroud)

编辑:

正如Matthew Watson评论所建议的那样

如果从string.Format("{0:n}",999999)返回字符串,则在使用"."的语言环境中的计算机上运行.作为千位分隔符,这将失败

更新的答案:

string num = "25,000";
NumberFormatInfo currentInfo = CultureInfo.CurrentCulture.NumberFormat;
num = num.Replace(currentInfo.NumberGroupSeparator, ""); 
Run Code Online (Sandbox Code Playgroud)

  • @GianAcuna,你是对的,因为OP接受了答案:) +1 (2认同)
  • @StephenL请注意,如果从`string.Format("{0:n}",999999)返回字符串,则在使用`"."作为千位分隔符的语言环境中的机器上运行,这将失败.应该真正使用[`NumberFormatInfo.NumberGroupSeparator`](http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numbergroupseparator.aspx)作为当前语言环境而不是硬编码"", `. (2认同)