如何解析1,2
與Single.Parse
?問的原因是因爲,當我使用CultureInfo.InvariantCulture
時,我沒有得到1.2,而是我想要的,而是12.如何使InvariantCulture將逗號識別爲小數點分隔符?
不應該「不變的文化」忽略文化嗎?
Consider the following example:
using System;
using System.Globalization;
public class Program
{
public static void Main()
{
Console.WriteLine(Single.Parse("1,2", CultureInfo.InvariantCulture));
Console.WriteLine(Single.Parse("1.2", CultureInfo.InvariantCulture));
float value;
Console.WriteLine(Single.TryParse("1,2", NumberStyles.Float, CultureInfo.InvariantCulture, out value));
Console.WriteLine(Single.TryParse("1,2", out value));
Console.WriteLine(value);
}
}
的這個輸出將是
1.2
假
真
但我期待:
1.2
1.2
真
真
1.2
Basedonmy的InvariantCulture
reading我應該得到這個結果,但我不是。
'變種單= float.Parse( 「1,2」,CultureInfo.GetCultureInfo( 「TR-TR」));' –
嗯,我會在加入:'VAR單= float.Parse(「1 ,2「,CultureInfo。GetCultureInfo(「nl-NL」));'基本上,'InvariantCulture'使用'.'作爲小數分隔符。 'Single.Parse'不會忽略它,但''''不是'InvariantCulture'中的小數點分隔符。 – hvd
@Default它使用固定的文化,恰巧使用','作爲小數點分隔符。任何使用'''的文化都可以。重要的是* *用戶*的文化*不被使用。 – hvd