gpt4 book ai didi

c# - 将一个数字拆分成多个数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:17:00 26 4
gpt4 key购买 nike

例子如下:

我们有一名员工的总小时数。小时数为 10。

正常限制是 8 小时。超出此金额的部分称为加类

正常工作时间 = 8 和加类时间 = 2。所以我们将数字 10 分成 8 和 2。

这是我的实现,请原谅我的C#:

/*
* NormalLimit equals 8; value is the number of hours set for the day
*/

if (value > _config.NormalLimit)
{
dailyStatements[index].Normal = _config.NormalLimit;
dailyStatements[index].Overtime = value - _config.NormalLimit;
}
else
{
dailyStatements[index].Normal = value;
}

请注意,如果我们想将一个数字拆分为 2 个以上的数字 - 我们最终会得到多个复杂的 IF block ,并且代码看起来会很晦涩。

有没有更优雅的方式来处理这个问题?

最佳答案

您可以通过使用 Math.Min 方法选择一对数字中较小的数字,并使用 Math.Max 选择较大的数字来避免 if/else。

set 
{
// The actual value or the configured limit, whichever is lower.
dailyStatements[index].Normal = Math.Min(value, _config.NormalLimit);
// The hours over the limit, or 0 if it comes out negative);
dailyStatements[index].Overtime = Math.Max(value - _config.NormalLimit, 0)
}

关于c# - 将一个数字拆分成多个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54944375/

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