![](/img/trans.png)
[英]How to format a number into comma only without decimal point but already round into non decimal point using C#
[英]Format a decimal without comma
我嘗試在 c# 中將十進制格式設置為 0:0.0 嘗試了此代碼
string nv = textBox7.Text.Trim().Replace(',', '.');
res = Convert.ToDecimal(nv, new CultureInfo("en-GB"));
但 res 總是用逗號顯示結果,也嘗試過
new CultureInfo("en-GB")
但問題仍然存在 並提前感謝您。
正如其他評論和答案所暗示的那樣,您首先要了解一些基礎知識。 我可能會說一些你已經知道的事情,但請耐心等待:
textBox7.Text
包含一個string
,而不是一個decimal
。decimal
進行計算,你必須轉換它(我認為你已經做到了這一點)res
是一個十進制數,因此無論何時您想查看其值,SOMETHING 都會將其轉換為string
。 當您將鼠標懸停在它上面時,無論是將其寫入Console
還是調試器。 該轉換將使用您當前的區域設置。 這就是為什么你總是看到一個逗號。 a) 標准格式。 例子:
Console.WriteLine(res.toString("F2"));
這將用逗號后的 2 個數字格式化 123456:123456.00
b) 自定義格式。 例子:
Console.WriteLine(res.toString("[##-##-##]"));
這將輸出 123456 到類似 [12-34-56]
c) 文化信息。 例子:
Console.WriteLine(res.ToString(CultureInfo.CreateSpecificCulture("nl-BE")));
這將像在比利時一樣輸出 1234.56:帶逗號 1234,56
順便說一句,我認為 en-GB 也輸出到逗號 :-)
d) 結合。 發瘋! 兩者都做! 例子:
Console.WriteLine(res.ToString("F2", CultureInfo.CreateSpecificCulture("nl-BE")));
格式 123456 到 123456,00 !
res
是一個decimal
,而不是一個字符串。 所以它不能有格式。 小數是純數學數字,沒有相關格式。 該格式僅在您將decimal
轉換為string
時才存在。
您可以使用res.ToString(CultureInfo.InvariantCulture)
生成使用.
作為小數點分隔符。
這將為您提供沒有逗號的十進制數字,例如“15000.00”:
FormatNumber(nv, , , , 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.