Просмотр полной версии : [Вопрос] Последняя цифра в числе - как определить?
KakbeYura
08.06.2014, 16:27
У меня есть, допустим:
new num = 10000+random(9999);
И у меня вышло 16453, как определить эту 3?
Пример, который пришёл мне в голову:
new numstr[10];
valstr(numstr, num);
new last = strval(strlen(numstr)-1));
Другие предложения есть?
new numstr[10];
valstr(numstr, num);
new last = strval(strlen(numstr)-1));
О_о попробуйте использовать этот код...
Вашим числом будет остаток от деления на 10. То бишь
new num = 10000+random(9999);
printf("Число - %d\nПоследняя цифра - %d\nDeimoS умница :3\n", num, num % 10);
KakbeYura
08.06.2014, 17:01
О_о попробуйте использовать этот код...
Вашим числом будет остаток от деления на 10. То бишь
new num = 10000+random(9999);
printf("Число - %d\nПоследняя цифра - %d\nDeimoS умница :3\n", num, num % 10);
Благодарен.
Тему можно закрыть.
Благодарен.
Тему можно закрыть.
И на будущее. Если понадобится 2, 3 или 10 последних цифр, достаточно разделить на "100", "1000" и "10000000000" соответственно. То бишь столько нулей, сколько цифр нам нужно в итоге получить.
И помните - математика не прощает. :new_russian:
KakbeYura
09.06.2014, 15:37
И на будущее. Если понадобится 2, 3 или 10 последних цифр, достаточно разделить на "100", "1000" и "10000000000" соответственно. То бишь столько нулей, сколько цифр нам нужно в итоге получить.
И помните - математика не прощает. :new_russian:
Pawn не позволяет оператор %..
C:\Documents and Settings\User\Мои документы\Dropbox\KakbeMode\gamemodes\justdrift.pwn(10298) : error 040: duplicate "case" label (value 117)
C:\Documents and Settings\User\Мои документы\Dropbox\KakbeMode\gamemodes\justdrift.pwn(14269) : error 004: function "operator%(Float:,_:)" is not implemented
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
2 Errors.
А вот что я нашёл в инклуде "float.inc"
/* forbidden operations */
forward operator%(Float:oper1, Float:oper2);
forward operator%(Float:oper1, oper2);
forward operator%(oper1, Float:oper2);
Насколько я знаю, "forbidden operations" переводится как "запрещённые операции"..
Ну у тебя целые числа ведь, они разрешены.
KakbeYura
09.06.2014, 15:59
Не совсем, одна переменная - Float
- - - Добавлено - - -
В примере выше - целые, а вот в моде одна переменная Float. Буду юзать floatround
Иногда так делать критично. Напиши для какой задачи используешь, может, подберём другой путь.
Если всё совсем плохо будет, можно попробовать число конвертировать в строку (valstr) и далее вывести последний символ
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot