Mad*_*Boy 6 c# string currency
通常当我需要转换currency string(如1200,55zł或$ 1,249)到十进制值时,我这样做:
if (currencyString.Contains("z?)) {
decimal value = Decimal.Parse(dataToCheck.Trim(), NumberStyles.Number | NumberStyles.AllowCurrencySymbol);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法检查字符串是否是货币而不检查特定货币?
如果您只是进行转换(您也应该添加| NumberStyles.AllowThousands
| NumberStyles.AllowDecimalPoint),那么如果字符串包含当前UI的错误货币符号,则解析将失败 - 在这种情况下通过引发异常.它包含没有货币符号,解析仍然可以工作.
因此,您可以使用它TryParse来测试失败.
如果您的输入可以是任何货币,您可以使用此版本的TryParse a IFormatProvider作为参数,您可以使用该参数指定有关字符串的特定于文化的解析信息.因此,如果解析失败了默认的UI文化,您可以循环再次尝试支持的每种文化.当你发现有效的那个时,你就得到了它的数量和货币类型(兹罗提,美元,欧元,卢布等)
| 归档时间: |
|
| 查看次数: |
7914 次 |
| 最近记录: |