开发者

C# decimal tostring format

I want to create a string from a decimal, whithout t开发者_如何学Che decimal separator;

1,500.00 should become "150000".

What is the proper format for this? (Whithout string.replace , and .)

Thank you!


try:

   decimal d = 1500m;
   string s = (100*d).ToString("0");


Two solutions:

  • Create your own NumberFormatInfo and CultureInfo and pass it along to ToString.
  • Multiply the number by 100, then use .ToString("0")


What's wrong with String.Replace anyway? It's simple and to the point:

CultureInfo info = CultureInfo.GetCultureInfo("en-US");

decimal m = 1500.00m;
string s = m.ToString("G", info).Replace(".", String.Empty));
Console.WriteLine(s); // outputs "150000"

m = 1500.0m;
string s = m.ToString("G", info).Replace(".", String.Empty));
Console.WriteLine(s); // outputs "15000"

m = 1500.000m;
string s = m.ToString("G", info).Replace(".", String.Empty));
Console.WriteLine(s); // outputs "1500000"


m = 1500.001m;
string s = m.ToString("G", info).Replace(".", String.Empty));
Console.WriteLine(s); // outputs "1500001"

m = 1500.00000000000000000000001m;
string s = m.ToString("G", info).Replace(".", String.Empty));
Console.WriteLine(s); // outputs "150000000000000000000000001"


decimal value = 1500;
Console.WriteLine((value * 100).ToString("0"));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜