【发布时间】:2011-10-23 11:26:57
【问题描述】:
我有一个双精度值列表,我想将变量的值舍入到仅该数字列表
例子:
列表内容为:{12,15,23,94,35,48}
变量的值为17,所以会四舍五入到15
如果变量的值小于最小数字,则四舍五入,如果它的值大于最大数字,则四舍五入。
列表内容总是根据外部因素而变化,所以我不能硬编码我想要向上或向下舍入的值。
如何在 C# 中做到这一点?
【问题讨论】:
-
计算出未取整值和可能结果之间的差异。将这些差异存储在以可能结果为关键字的字典中,然后选择差异最小的结果。
-
这个收藏有多大?否则,您应该考虑使用排序集合并使用二分搜索。
-
如七所说,特别是如果您的列表是静态的(不会改变)