2012-08-22 143 views
6

我有一个字符串(确认是十进制表达) 0.4351242134字符串转换为2位小数

我想转换成字符串以两个小数位 0.44

我应该如何在C#中做?

+1

应该是什么0.3的结果呢?它应该是“0.30”还是“0.3”? –

回答

7
var probablyDecimalString = "0.4351242134"; 
decimal value; 
if (Decimal.TryParse(probablyDecimalString , out value)) 
    Console.WriteLine (value.ToString("0.##")); 
else 
    Console.WriteLine ("not a Decimal"); 
+1

其实如果初始值是一个字符串,你首先需要Double.Parse。 –

+0

如果你想实现舍入,你尤其需要解析它。 – Zak

+0

对不起,我以前只在引用符号中看到字符串。我的错。 –

2
float f = float.Parse("0.4351242134"); 
Console.WriteLine(string.Format("{0:0.00}", f)); 

this为的String.format。

4
var d = decimal.Parse("0.4351242134"); 
Console.WriteLine(decimal.Round(d, 2)); 
+0

非常感谢,效果很好 –

4

嗯,我会做:

var d = "0.4351242134"; 
Console.WriteLine(decimal.Parse(d).ToString("N2")); 
1

这会帮助

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