J'ai besoin d'une fonction mathématique/formule/expression pour prendre un nombre comme paramètre et trouver le nombre le plus bas se terminant par certains chiffres qui est plus grand que le paramètre.Comment "arrondir" un nombre à la fin de certains chiffres?
Par exemple, si les chiffres Ending devraient être 88 ce sont quelques exemples de ce que je veux:
f(0) = 0
f(87) = 88
f(88) = 88
f(89) = 188 //NB: NOT 88*2=176
f(187) = 188
f(188) = 188
f(189) = 288
et ainsi de suite. Vous avez eu l'idée.
Jusqu'à présent, je l'ai utilisé une fonction (en Delphi, et non mis en œuvre par moi) qui fait cela:
function RoundToSpecificEndingDigits(aLength,aModMeasure : double) : double;
begin
Result := aModMeasure;
while Result < aLength do Result := Result + 100;
end;
Maintenant, je besoin d'une approche plus « mathématique » avec divs et mods et tours etc. Le raison est que je veux le faire en SQL sans créer de fonctions.
double: http://stackoverflow.com/questions/1555251/rounding-to-the-nearest-ending-digits – cjk
@ck - pense que cette question fait référence à PHP , ici, nous avons affaire à Delphi ou peut-être SQL (@Svein, vous pourriez vouloir préciser lequel). –
@Dominic - l'implémentation est en PHP, cependant la logique est universelle. – cjk