小數我試圖格式化小數爲0:在C#中 0.0試過這個代碼格式沒有逗號
string nv = textBox7.Text.Trim().Replace(',', '.');
res = Convert.ToDecimal(nv, new CultureInfo("en-GB"));
但資源總是顯示結果與一個逗號,與
new CultureInfo("en-GB")
也嘗試
但問題仍然存在 並提前致謝。
小數我試圖格式化小數爲0:在C#中 0.0試過這個代碼格式沒有逗號
string nv = textBox7.Text.Trim().Replace(',', '.');
res = Convert.ToDecimal(nv, new CultureInfo("en-GB"));
但資源總是顯示結果與一個逗號,與
new CultureInfo("en-GB")
也嘗試
但問題仍然存在 並提前致謝。
res
是decimal
,而不是一個字符串。所以它不能有格式。小數是沒有關聯格式的純數學數字。僅當您將decimal
轉換爲string
時,格式纔會生效。
您可以使用res.ToString(CultureInfo.InvariantCulture)
生產使用.
作爲小數點分隔字符串。
我想要一個小數將其插入我的數據庫中, – tarek 2012-04-21 11:10:22
@user您的問題在哪裏? – CodesInChaos 2012-04-21 11:18:24
問題解決了,我以爲我應該使用一個十進制變量來使用它一個sqlCommand指令,而且一個字符串可以使相同的想法,我用字符串nv = textBox7.Text.Trim()。Replace(',' ,'。'); – tarek 2012-04-21 11:22:51
正如其他評論和答案所示,您首先需要了解一些基本知識。我可能會說一些事情你已經知道了,但包涵:
textBox7.Text
包含string
,而不是一個decimal
。decimal
,你必須把它轉換(我想你已經走到這一步)res
是一個小數,只要你想看看它的價值的東西將其轉換爲string
。無論你是將它寫入Console
還是將鼠標懸停在調試器上。該轉換將使用您當前的區域設置。 這個是爲什麼你總是看到一個逗號。a)Standard Format。例如:
Console.WriteLine(res.toString("F2"));
這將逗號之後格式化123456與2號:123456.00
b)中Custom Format。例如:
Console.WriteLine(res.toString("[##-##-##]"));
這將輸出123456爲類似[12-34-56]
c)中CultureInfo。例如:
Console.WriteLine(res.ToString(CultureInfo.CreateSpecificCulture("nl-BE")));
這將輸出1234.56像在比利時:用逗號1234,56
順便提及,我認爲烯GB還輸出到一個逗號:-)
d)Combine。發瘋!兩個都做!示例:
Console.WriteLine(res.ToString("F2", CultureInfo.CreateSpecificCulture("nl-BE")));
格式123456至123456,00!
'res'是一個'decimal',而不是一個字符串。所以它不能有格式。 – CodesInChaos 2012-04-21 10:51:02
「0:0.0」甚至意味着什麼「小數」? ':'的含義是什麼? – Oded 2012-04-21 10:51:58
@Oded我猜它代表'string.Format'中的第0個參數。 – CodesInChaos 2012-04-21 10:54:45