Convert string to decimal, keeping fractions

后端 未结 11 1258
走了就别回头了
走了就别回头了 2020-11-28 13:31

I am trying to convert 1200.00 to decimal, but Decimal.Parse() removes .00. I\'ve tried some different methods, but it al

相关标签:
11条回答
  • 2020-11-28 13:48

    Hello i was have the same issue, but it is easly, just do this:

    string cadena="96.23";

    decimal NoDecimal=decimal.parse(cadena.replace(".",","))

    I think this is beacuse the notation that accept C# on decimal numbers are with a ","

    0 讨论(0)
  • I think your problem is when displaying the decimal, not the contents of it.

    If you try

    string value = "1200.00";
    decimal d = decimal.Parse(s);
    string s = d.ToString();
    

    s will contain the string "1200".

    However if you change your code to this

    string value = "1200.00";
    decimal d = decimal.Parse(s);
    string s = d.ToString("0.00");
    

    s will contain the string "1200.00" as you want it to do.

    EDIT

    Seems I'm braindead early in the morning today. I added the Parse statements now. However even my first code will output "1200.00", even if I expected it to output "1200". Seems like I'm learning something each day, and in this case obviously something that is quite basic.

    So disregard this a an proper answer. We will probably need more code to identify your problem in this case.

    0 讨论(0)
  • 2020-11-28 13:55

    The below code prints the value as 1200.00.

    var convertDecimal = Convert.ToDecimal("1200.00");
    Console.WriteLine(convertDecimal);
    

    Not sure what you are expecting?

    0 讨论(0)
  • 2020-11-28 13:56

    The use of CultureInfo class worked for me, I hope help you.

        string value = "1200.00";
        CultureInfo culture = new CultureInfo("en-US");
        decimal result = Convert.ToDecimal(value, culture);
    
    0 讨论(0)
  • 2020-11-28 14:00

    Use this example

    System.Globalization.CultureInfo culInfo = new System.Globalization.CultureInfo("en-GB",true);
    
    decimal currency_usd = decimal.Parse(GetRateFromCbrf("usd"),culInfo);
    decimal currency_eur = decimal.Parse(GetRateFromCbrf("eur"), culInfo);
    
    0 讨论(0)
提交回复
热议问题