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
148 views
in Technique[技术] by (71.8m points)

c# - convert this string into decimal

Sounds easy but when I tried to achieve i'm stock about how is the formatter to make this conversion this are some examples of strings that i need to convert to decimal

00.24
48.34
01.24

Does anybody know how can i Accomplish this?? I tried like this

try
{
   decimal x =  Convert.ToDecimal("00.24", );
   //Which formatter do I need to pass??
   decimal x =  Convert.ToDecimal("00.24", Formatter???);
}
Catch(Exception e)
{
    throw new Exception()
}

But It doesn't work because the result it's 24D and i need 0.24D

See Question&Answers more detail:os

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

1 Reply

0 votes
by (71.8m points)

I suspect your system culture is not English and has different number formatting rules. Try passing the invariant culture as the format provider:

decimal d = Convert.ToDecimal("00.24", CultureInfo.InvariantCulture);

You could also use Decimal.Parse:

decimal d = Decimal.Parse("00.24", CultureInfo.InvariantCulture);

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

...