Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
224 views
in Technique[技术] by (71.8m points)

c# - How to format a Currency string to Integer?

I'm have a string with currency format like $35.00 and this has to be converted to 35.

Is that possible to retrieve using String.Format{ }

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
int value = int.Parse("$35.00", NumberStyles.Currency);

Should give you the answer you need.

However, a value like $35.50 converted to an integer will likely not return what you want it to, as Integers do not support partial (decimal) numbers. You didn't specify what to expect in that situation.

[EDIT: Changed double to decimal which is safer to use with currency]

If you want to get a value of 35.5 in that situation, you might want to use the decimal type.

decimal value = decimal.Parse("$35.00", NumberStyles.Currency);

Note that you have to be very careful when dealing with money and floating point precision.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...