none
科学计数法字符串怎么直接转为decimal RRS feed

  • 问题

  • Covert.ToDouble("6.317759536E+01");

    Double.Parse("6.317759536E+01");

    都可以

    Covert.ToDecimal("6.317759536E+01");

    Decimal.Parse("6.317759536E+01");

    会有异常,难度只能转成double再转成decimal,这样不会丢失精度吗?

    2015年1月7日 7:19

答案

  • 这样可以了:

    System.Globalization.NumberStyles sty = System.Globalization.NumberStyles.AllowExponent | System.Globalization.NumberStyles.AllowDecimalPoint;
                decimal d = Decimal.Parse("6.317759536E+01", sty);

    2015年1月7日 7:34

全部回复

  • 这样可以了:

    System.Globalization.NumberStyles sty = System.Globalization.NumberStyles.AllowExponent | System.Globalization.NumberStyles.AllowDecimalPoint;
                decimal d = Decimal.Parse("6.317759536E+01", sty);

    2015年1月7日 7:34
  • 感谢分享!

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年1月8日 3:22
    版主