在C#中填写双打

时间:2009-11-25 23:02:28

标签: c#

我道歉这是重复的,我只是无法正确地说出这个问题。

这似乎是一项微不足道的任务,但我正在寻找一种简单的方法来切断我的双打小数位后的所有内容。

我尝试使用%运算符,但它在底片上失败,并且所有Math.Round函数都远离0(或均匀)而不是0

我意识到我可以从我可用的数学中构建这样一个函数,但是我希望有一个实现,所以我不必写一长串的Math.Floor和/或{ {1}}

4 个答案:

答案 0 :(得分:9)

Math.Truncate

答案 1 :(得分:4)

显然,你为Truncate得到的答案是正确的 - 但这只是我多年来学到的一些事情。

  • 如果您正在进行展示,那么您 通常可以用字符串来避免它 格式如{0:N0}
  • 双打是 设计不精确意味着你 你什么时候应该怀疑 必须使用带==的双精度数 操作员,即使你只是 截断它。而不是截断 你可能希望确保 差异的绝对值 在两个双打之间是< 1。

答案 2 :(得分:3)

答案 3 :(得分:1)

double oldDouble = 5.555555;
double d = (int)oldDouble;
Console.Out.WriteLine(d); // prints 5

这是你的意思吗?