將整數四捨五入到倍數
在C 中,將整數值四捨五入到另一個數字的最接近倍數是一個簡單的操作。以下函數有效且準確地完成此任務:
int roundUp(int numToRound, int multiple) { if (multiple == 0) { return numToRound; } int remainder = abs(numToRound) % multiple; if (remainder == 0) { return numToRound; } if (numToRound < 0) { return -(abs(numToRound) - remainder); } else { return numToRound + multiple - remainder; } }
此函數採用兩個整數參數:要捨入的值 (numToRound) 和要捨入的倍數 (multiple)。它將向上舍入的值傳回為整數。
函數先檢查倍數是否為零。如果是,則函數傳回原始值不變。
如果倍數不為零,則函數計算 numToRound 除以倍數所得的餘數的絕對值。這給出了原始值與其最接近的倍數之間的差異。
接下來,函數檢查原始值是否為負數。如果是,它會相應地調整舍入值,以確保它仍然大於或等於原始值。對於正值,函數只需添加必要的金額即可向上捨入到最接近的倍數。
範例
請考慮以下範例:
以上是如何有效地將整數舍入到 C 中最接近的倍數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!