如何接受"$ 1,250.00"之类的字符串并将其转换为C#中的小数?
我只是做一个替换("$","")和(",","")或者我应该采用不同的方式来处理这种输入吗?
Jar*_*Par 20
您是否使用AllowCurrencySymbol选项(以及其他支持选项)尝试过Decimal.Parse?
var d = Decimal.Parse(input,
NumberStyles.AllowCurrencySymbol |
NumberStyles.AllowDecimalPoint |
NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)
现在格式化:)
decimal val = Decimal.Parse(
Value.Replace(" ", ""),
NumberStyles.AllowThousands
| NumberStyles.AllowDecimalPoint
| NumberStyles.AllowCurrencySymbol
);
Run Code Online (Sandbox Code Playgroud)
http://www.codeproject.com/KB/cs/Eduardo_Sierra.aspx
我只做一个
Replace("$", "")
和Replace(",", "")
[?]
不可以.例如,这样的代码维护起来并不好玩.其次,'$'并不是世界上唯一的货币符号,'''不是唯一的千人.也就是说,像你一样的代码使全球化问题变得困难.
[我]有不同的方式来处理这种输入吗?
是.使用Decimal.Parse
有NumberStyles.Currency
:
string s = "$1,250.00";
decimal d = decimal.Parse(s, NumberStyles.Currency);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
738 次 |
最近记录: |