how to handle culture in double parsing in c#?

2019-05-24 17:04发布

问题:

I have a question about how to handle culture while parsing doubles. In a system price information from various servers comes together. However the data thats given as input varies in culture. two million and fifty cents is given as :
"2.000.000,50"
"2,000,000.50"
"2000000.50"
"2000000,50"

is there a generic way to handle these various types of input ?

回答1:

No, there is no generic way. You either need to know what culture the double was formatted or all the servers need to send in a single format, say InvariantCulture.

If you guess the culture, there's a bad news waiting for you as different cultures use different decimal separator, group separator etc. So you can't.

Refer this to foresee what can go wrong if you guess.



回答2:

Please see https://stackoverflow.com/a/27443540/1230816 for an answer to your examples without any cultural assumptions required.