3 回答

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
您試圖Format在一個(gè)字符串上執(zhí)行,它只會(huì)產(chǎn)生相同的字符串作為結(jié)果。
您想解析字符串并將IFormatProvider實(shí)現(xiàn)傳遞給Parse“理解”正在解析的數(shù)字的字符串表示形式中的含義,和.含義的方法。
在下面的示例中,我使用了nl-NL與您在問題中所期望的含義相同的文化(.用于分隔千位和,分隔數(shù)字的小數(shù)部分)。
const string inputText = "30,500";
var result = float.Parse(inputText, NumberStyles.AllowDecimalPoint, System.Globalization.CultureInfo.GetCultureInfo("nl-NL"));
Console.WriteLine("Parsed {0} to value {1}", inputText, result);

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以創(chuàng)建自定義 NumberFormatInfo
var nf = new System.Globalization.NumberFormatInfo();
nf.NumberDecimalSeparator = ",";
nf.NumberGroupSeparator = " ";
并用它來解析數(shù)值
Console.WriteLine(float.Parse("30,5000", nf));

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
嗯,我有一個(gè)解決方案,但它不會(huì)是最好的,但它會(huì)起作用。當(dāng)您處理字符串時(shí),您可以使用此函數(shù)
string converter(string s)
{
s = s.Replace('.',',');
return s;
}
還檢查此鏈接 https://msdn.microsoft.com/en-us/library/czx8s9ts(v=vs.110).aspx
- 3 回答
- 0 關(guān)注
- 219 瀏覽
添加回答
舉報(bào)