如何从字符串十进制格式检测法语或美国区域性

本文关键字:法语 美国 区域性 检测 格式 字符串 十进制 | 更新日期: 2023-09-27 18:18:15

我有两个字符串:1.51,5

我想将其转换为十进制,但我想自动检测文化:点为culture,逗号为culture

如何从字符串十进制格式检测法语或美国区域性

如果你的数字不能包含千个组分隔符,你可以使用:

var usCulture = new CultureInfo("en-US");
var frCulture = new CultureInfo("fr-FR");
NumberStyles ns = NumberStyles.Any & ~NumberStyles.AllowThousands;  // without thousands
string[] strings = {"1.5", "1,5"};
foreach (string s in strings)
{
    decimal d;
    bool isUsCulture = decimal.TryParse(s, ns, usCulture, out d);
    bool isFrCulture = decimal.TryParse(s, ns, frCulture, out d);
}

请注意,您现在可以检测区域性,但前提是它包含小数分隔符。像"2"这样的数字可以是us或fr。

你可以试试:首先在函数程序中插入这段代码。
您使用到分隔符"."例:decimal.Parse("0.2")

var usCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = usCulture;
Thread.CurrentThread.CurrentUICulture = usCulture ;