如何截断双数据类型值变量

时间:2010-05-15 12:43:21

标签: c#

我有一个班级

public class Score
{
    public double  marks { get; set; }
}

现在在我的代码中

List<Level1> Obj= new List<Level1>();
 Score Object= new Score();
 l1.marks=94.345454;
Obj.Add(Object)

//现在无法将对象添加到列表中我需要将值trunacte为 94.34并存储在列表obj。  所以我需要得到输出有94.34   我该怎么做。  提前谢谢你  王子

3 个答案:

答案 0 :(得分:2)

将值保持为double,并仅在输出上格式化。

string output = doubleValue.ToString("F2");

Source。举个例子:

doubleNumber = -1898300.1987;
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));  
// Displays -1898300.2

Console.WriteLine(doubleNumber.ToString("F3", 
                  CultureInfo.CreateSpecificCulture("es-ES")));
// Displays -1898300,199  

注意文化设置为西班牙语时最后一个输出的小数点逗号。

答案 1 :(得分:0)

您可以在marks属性设置器中执行此操作:

value -= value % 0.01

这将从value减去0.005454,因此给你留下正确的小数点数(在这种情况下,2)

类似的东西:

public class Score {
    private double m_marks;

    public double marks {
        get { return m_marks; }
        set { m_marks = value - (value % 0.01); }
    }
}

答案 2 :(得分:0)

您可以使用msdn

上显示的Math.Round(数字,精度)