gpt4 book ai didi

c# - 将值四舍五入为 C# 中特定值的列表

转载 作者:太空狗 更新时间:2023-10-29 18:08:42 29 4
gpt4 key购买 nike

我有一个 double 值列表,我想将一个变量的值四舍五入为该数字列表

例子:

列表内容为:{12,15,23,94,35,48}

变量的值为17,所以四舍五入为15

如果变量的值小于最小数,则取整为最小数,如果变量的值大于最大数,则取整为最小数。

列表内容总是根据外部因素而变化,所以我无法硬编码我想要向上或向下舍入的值。

如何在 C# 中实现?

最佳答案

这是一个使用 LINQ 的方法:

var list = new[] { 12, 15, 23, 94, 35, 48 };
var input = 17;

var diffList = from number in list
select new {
number,
difference = Math.Abs(number - input)
};
var result = (from diffItem in diffList
orderby diffItem.difference
select diffItem).First().number;

编辑:重命名了一些变量,使代码不那么困惑......

编辑:

list 变量是一个隐式声明的int 数组。第一个 LINQ 语句 diffList 定义了一个匿名类型,其中包含列表中的原始数字 (number) 以及它与当前值 (input )。

第二个 LINQ 语句 result 按差值对匿名类型集合进行排序,这是您的“舍入”要求。它采用该列表中的第一项,因为它的差异最小,然后仅从匿名类型中选择原始 .number

关于c# - 将值四舍五入为 C# 中特定值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865833/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com