问题
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.
来源:https://stackoverflow.com/questions/26862247/how-to-handle-culture-in-double-parsing-in-c