作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
例子如下:
我们有一名员工的总小时数。小时数为 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/
我是一名优秀的程序员,十分优秀!