我该如何使用
“不变文化”难道不应该忽略文化差异吗?
请参考以下示例:链接。
此代码的输出结果将为:
12 1.2 False True 12
但我期望的是:
1.2 1.2 True True 1.2
根据我对InvariantCulture的了解,我应该得到这个结果,但实际上并没有。此文参考了以下链接:Based on my reading of
Single.Parse
解析 1,2
?我提出这个问题的原因是,当我使用 CultureInfo.InvariantCulture
时,我得到的结果不是我想要的 1.2,而是 12。“不变文化”难道不应该忽略文化差异吗?
请参考以下示例:链接。
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);
}
}
此代码的输出结果将为:
12 1.2 False True 12
但我期望的是:
1.2 1.2 True True 1.2
根据我对InvariantCulture的了解,我应该得到这个结果,但实际上并没有。此文参考了以下链接:Based on my reading of
InvariantCulture
。
var single = float.Parse("1,2", CultureInfo.GetCultureInfo("tr-TR"));
- L.Bvar single = float.Parse("1,2", CultureInfo.GetCultureInfo("nl-NL"));
基本上,InvariantCulture
使用.
作为小数分隔符。Single.Parse
不会忽略它,但是在InvariantCulture
中,
不是 小数分隔符。 - user743382