簡體   English   中英

C#十進制tostring格式

[英]C# decimal tostring format

我想從小數點創建一個字符串,而沒有小數點分隔符;

1,500.00應該變成“ 150000”。

什么是正確的格式? (沒有string.replace和。)

謝謝!

嘗試:

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

兩種解決方案:

  • 創建自己的NumberFormatInfo和CultureInfo並將其傳遞給ToString。
  • 將數字乘以100,然后使用.ToString("0")

String.Replace到底有什么問題? 簡單明了:

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"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM