Nano Hash - криптовалюты, майнинг, программирование

% оператор для расчета времени

Я пытаюсь отображать минуты и секунды на основе количества секунд.

У меня есть:

float seconds = 200;

float mins = seconds / 60.0;

float sec = mins % 60.0;

[timeIndexLabel setText:[NSString stringWithFormat:@"%.2f , %.2f", mins,seconds]];

Но я получаю сообщение об ошибке: недопустимые операнды типов "float" и "double" для двоичного "operator%"

И я не понимаю, почему... Кто-нибудь может бросить мне кость!?


Ответы:


1

Многие языки определяют только оператор % для работы с целочисленными операндами. Попробуйте преобразовать seconds и mins в int, прежде чем использовать % (или просто объявите их int в первую очередь). Используемые постоянные значения также должны быть int (используйте 60 вместо 60,0).

02.08.2009

2

Как указывали другие, вы должны использовать целые числа. Однако, похоже, никто не заметил, что результат будет неверным. Вернитесь и еще раз взгляните на арифметику по модулю, и вы поймете, что должны делать

int seconds = 200;
int mins = seconds / 60;
int sec = seconds % 60;

Обратите внимание на последнюю строку, seconds % 60, а не mins % 60 (которая вернет остаток минут, разделенный на 60, что является количеством минут в часе и совершенно не связано с этим расчетом).

РЕДАКТИРОВАТЬ
дох, забыл целые... :)

02.08.2009

3

60.0 вызывает преобразование в double try:

float seconds = 200;

float mins = seconds / 60;

float sec = mins % 60;
02.08.2009

4

Вместо этого используйте целые числа. По крайней мере, в вашем примере кажется, что их достаточно (так же будет быстрее и понятнее).

Кроме того, в этом случае вы получите 3,3333... минуты, а не 3 минуты, как ожидалось. Вы можете использовать Math.ceil(x), если вам нужно работать с поплавками.

02.08.2009

5

Делайте так:

float seconds = 200.5;

float mins = floor(seconds / 60.0);

float sec = seconds - mins * 60.0;
02.08.2009
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..