一些背景知识 - 我正在为移动应用程序编写一些自动化用户验收测试,但我并不总能控制将要执行测试的设备文化。
此应用程序处理货币,我想知道在不知道设备文化的情况下,可靠地解析具有货币金额的字符串的最佳方法。
例如,我想将12.34欧元或12.34美元或12.34英镑等分解为双倍价值(或其他)。
解决方法是忽略字符串中的第一个字符,但这不一定是理想的解决方案。
答案 0 :(得分:1)
我最终要解决的问题是根据下面的代码段获取所有可能的国际货币符号(感谢stuard),然后根据这些值检查我自己的字符串。
string[] currencySymbols = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures).Select(culture => culture.NumberFormat.CurrencySymbol) .Distinct() .ToArray();
我删除了任何数字字符,'。'和','从我自己的字符串开始,只需保留货币前缀,然后再进行比较。
我不确定它是否是最好的解决方案,但它有效!