将字符串转换为十进制(“3942.000000000000”)

时间:2014-01-23 13:30:05

标签: c# decimal converter

您好我找不到将此字符串格式化为十进制的好方法。

3942.000000000000

关于它的任何想法?

修改
这怎么现在是一个有效的问题?对于不同的文化格式,有些人(因为我)可能会错过CultureInfo所假设的decimal.Parse

此外,我不想要float,因此floatdecimal是额外的步骤。 只是我的两美分

4 个答案:

答案 0 :(得分:6)

您是否尝试过Decimal.Parse指定小数点分隔符?

var yourString = "3942.000000000000";
var info = new NumberFormatInfo { NumberDecimalSeparator = "." };
var parsed = Decimal.Parse(yourString, info);

编辑: 正如乔恩建议你可以使用InvariantCulture:

var yourString = "3942.000000000000";
var parsed = Decimal.Parse(yourString, CultureInfo.InvariantCulture);

答案 1 :(得分:4)

您无法使用的任何理由

Convert.ToDecimal("3942.000000000000");

答案 2 :(得分:0)

您可以在TryParse上使用string。请注意通话中的out

string yourString = "3942.0000000000"
decimal yourDecimal;
decimal.TryParse(yourString, out yourDecimal)

答案 3 :(得分:0)

您可以使用TryParse:

string yourString = "3942.0000000000"

decimal d;
if (decimal.TryParse(yourString, out d))
{
     //OK
}
else
{
     // Handle failure
}
相关问题