Stack Overflow на русском Asked by VillyFiki on December 10, 2020
Например просто + складывает два числа и получается 1+2=3, но мне надо склеить, чтобы 1+2=12. Конвертировать в строку, а потом обратно в int не хочется. Я слышал в математике есть такая операция, не помню как называется, но работает также, так что наверняка это есть и в программировании.
Если речь идёт о цифрах (или хотя бы второй элемент - цифра), то
var res = x * 10 + y;
Если это два числа и разрядность второго n
, то
var res = x * Math.Pow(10, n) + y;
Если лидирующие нули не нужны у второго числа, то примерно (могут быть ошибки из-за погрешности вычислений и округления):
var res = x * Math.Pow(10, Math.Ceil(Math.Log10(y + 1))) + y;
или (не уверен в осмысленности):
var p = Math.Floor(Math.Log10(y));
while (p <= y) p *= 10;
var res = x * p + y;
или
var p = 10;
while (p <= y) p *= 10;
var res = x * p + y;
PS: Формулы не проверял, но вроде должны быть такие.
Correct answer by Qwertiy on December 10, 2020
1 Asked on November 15, 2021 by bogyfobiya
2 Asked on November 15, 2021
1 Asked on November 13, 2021 by karaianov
1 Asked on November 13, 2021 by chikchirik
1 Asked on November 13, 2021 by listopad02
0 Asked on November 13, 2021
3 Asked on November 13, 2021 by user328896
java java stream substring %d1%81%d1%82%d1%80%d0%be%d0%ba%d0%b8
3 Asked on November 13, 2021
1 Asked on November 13, 2021 by valentine
Get help from others!
Recent Questions
Recent Answers
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP