代码之家  ›  专栏  ›  技术社区  ›  Gs.

关于Xamarin OS系统语言和格式

  •  2
  • Gs.  · 技术社区  · 7 年前

    我在Xamarin项目中发现了一个问题。

    当我设置操作系统语言德语(Deutsch)时,所有int.parse decimal.parse和其他语言。未能成功分析。

    例如。我试过了。

    string sTest = 1234.567;
    decimal dResult = Decimal.parse(sTest);
    

    结果是“123.4567”

    我找到了这个解决方案

    Decimal.parse(sTest, new CultureInfo("en-US"));
    

    我能更简单地解决这些问题吗?…我的解决方案不是努力,而且很可能发生错误。

    对不起,英语不好,如果你知道这个问题,请教我,谢谢。

    修改:我删除了第二个问题,因为这只是我的误解。

    2 回复  |  直到 7 年前
        1
  •  3
  •   SushiHangover    7 年前

    假设您使用的是xamarin.forms,如果是这样,您可以分配一个全球文化:

    AppResources.Culture =  new CultureInfo("en-US");
    

    这假设您的应用程序的其余部分是英语和/或您没有使用resx文件进行本地化。

    重新: Localization

    否则,您需要创建 IValueConverter 转换并传递用于显示内容的区域性:

        2
  •  0
  •   Gs.    7 年前

    我在应用程序初始化处理中添加了这个低值。

    system.globalization.cultureinfo.defaultthreadcurrentculture=新系统.globalization.cultureinfo(“en-us”);

    以前,不必再将CultureInfo设置为All.Parse和.ToString。

    推荐文章