C# 将字符串转换为小数点后2位

C# 将字符串转换为小数点后2位,c#,C#,我有一个字符串(确认为十进制表达式) 0.4351242134 我想转换成小数点后两位的字符串 0.44 我在C#应该怎么做 请参阅以获取string.Format。我会: var d = decimal.Parse("0.4351242134"); Console.WriteLine(decimal.Round(d, 2)); var d = "0.4351242134"; Console.WriteLine(decimal.Parse(d).ToString("N2")); 这有帮助吗

我有一个字符串(确认为十进制表达式) 0.4351242134

我想转换成小数点后两位的字符串 0.44

我在C#应该怎么做

请参阅以获取string.Format。

我会:

var d = decimal.Parse("0.4351242134");
Console.WriteLine(decimal.Round(d, 2));
var d = "0.4351242134";
Console.WriteLine(decimal.Parse(d).ToString("N2"));
这有帮助吗

double ValBefore= 0.4351242134;
double ValAfter= Math.Round(ValBefore, 2, MidpointRounding.AwayFromZero); //Rounds"up"

首先,必须使用区域性进行解析,否则可能会丢失小数。 接下来,您必须有一个文本结果才能有一个固定的小数计数。 最后,四舍五入到两位小数,但是
ToString()
可以为您做到这一点,因此:

string amount5=“2.509”//应解析为2.51
decimal decimalValue=decimal.Parse(amount5,System.Globalization.CultureInfo.InvariantCulture);
字符串textValue=decimalValue.ToString(“0.00”);
// 2.51

实际上,如果初始值是字符串,则需要双精度。首先解析。如果要实现舍入,尤其需要解析它。对不起,我以前只在引号表示法中看到字符串。我的错。如果你知道它是十进制的,你就不需要TryParse。我知道它是十进制的,但还有谁知道呢?我过去不相信外部输入)0.3的结果应该是什么?它应该是“0.30”或“0.3”?这里是字符串s1=“9.00”,我想输出为十进制d1=9.00,我该怎么做?我使用的是C#MVC3–这里是字符串s1=“9.00”,我想输出为十进制d1=9.00,我该怎么做?我在C#MVC3上–@dilipkumar1007你在找
decimald1=decimal.Parse(s1)?@dilipkumar1007是,因为稍后您会将十进制转换为字符串来显示它。答案会对你有所帮助-在你需要做的地方。这里我有字符串s1=“9.00”,我想输出为十进制d1=9.00,我将怎么做?我在C#MVC3上——
var d = "0.4351242134";
Console.WriteLine(decimal.Parse(d).ToString("N2"));
double ValBefore= 0.4351242134;
double ValAfter= Math.Round(ValBefore, 2, MidpointRounding.AwayFromZero); //Rounds"up"
float myNumber = float.Parse("0.4351242134");
Console.WriteLine(string.Format("{0:f2}", myNumber ));