如何将小于1的字符串(“0.25500000”)转换为十进制?

时间:2013-12-04 07:10:28

标签: c# decimal string-conversion

我有一个字符串"0.30405",我需要将其转换为小数。然而,这是一个错误。

解决这个问题的方法是什么,不要把头甩掉

Convert.ToDecimal("0.25500000") //throws exception

3 个答案:

答案 0 :(得分:8)

如果该行抛出异常,可能是因为您的文化设置不允许逗号作为小数分隔符。

答案 1 :(得分:4)

尝试

Convert.ToDecimal("0.25500000", CultureInfo.InvariantCulture);

答案 2 :(得分:3)

尝试使用decimal.TryParse()并指定文化信息。

decimal number;
decimal.TryParse("0.25500000", NumberStyles.Number, 
                  CultureInfo.InvariantCulture, out number);

正如有人在评论中指出的那样,在生产代码中,您可能希望通过

找出转换是否成功
if(decimal.TryParse(...))
{
    // success
}