- подскажите.
Только BATCH, написать на другом ЯПе, PowerShell не подойдет!
Такая проблема, в батниках нет такого понятия как float, только int и str
И чило 10.55 он воспринимает как str.
Я делаю слайс по точке и получаю две переменные:
whole_part = 10 целая часть
fractional_part = 55 дробная часть
Дальше возникает сложное задание.
Есть например 2 числа:
a = 1.1234
b = 2.652
При этом неизвестно, сколько знаков после точки может быть...
Нужно научиться складывать дробные части и при достижении больше единицы вычитать эту единицу из дробного накопителя и докидывать в целую часть, дальше считать дробную часть.
При этом складывать нужно именно по разрядам и при накоплении перекидывать в старший разряд.
1234
652
!= 1886
= 7754
Можно частично упростить задачу и брать например только до тысячных, но опять же, как решить остальное?
Я люблю извращения, и кажется, это не так сложно, как кажется
вообще не в кайф сидеть голову ломать)
Если decimals известен задача на ~70% облегчается, а если нет....
Готового решения вы все равно вряд ли найдете. @set a=3 @set b=4 @set /a "c=%a%+%b%" echo %c% @set /a "d=%c%+1" echo %d% Вот с этого стоит начать. Складывать отдельно дробную часть, отдельно целую часть. Если дробная часть больше какого-то значения после сложения, например у вас 3 числа после запятой. 128 + 128 = 256, и это меньше 999, значит ничего не надо делать. Если 999 + 2 = 1002, отрезаем от строки первый символ и прибавляем 1 в целое число. Если нигде не накосячил, наверное так можно будет сделать
Обсуждают сегодня