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

Как получить числа формата с десятичными знаками (XCode)

Моя цель — создать приложение-калькулятор для iPhone, и я использую Xcode для написания своего приложения. Моя проблема, для которой я не могу найти решение, заключается в том, как отформатировать число, которое использует десятичные дроби (с дополнительными нулями), не переключаясь на экспоненциальное представление.

Я пытался...

buttonScreen.text = [NSString stringWithFormat:@"%0.f",currentNumber];

%0.f форматирование всегда округляется, поэтому, если пользователь вводит «4.23», отображается «4».

%f форматирует числа с 6 знаками после запятой (ввод «5» отображается как «5.000000»), но я не хочу показывать лишние нули в конце числа.

%10.4f - это что-то еще, что я видел в своем чтении, чтобы найти решение, но моя проблема в том, что я не знаю, сколько десятичных знаков будет в ответе, и мне может понадобиться ноль десятичных знаков или 10 десятичных знаков в зависимости от числа.

Ниже приведены примеры чисел, которые я хотел бы отобразить (без запятых): целое число, состоящее более чем из 6 цифр, десятичное число, состоящее более чем из 6 цифр.

123,456,789;
0.123456789;
12345.6789;
-123,456,789;
-0.23456789;
-12345.6789;

* Это духовный репост на мой предыдущий вопрос «Как форматировать числа без научной записи или десятичных знаков», который я плохо сформулировал, поскольку намеревался написать «ненужные (лишние нули)», но после повторного прочтения моего поста ясно засвидетельствовал мою неспособность передать это в любой момент моего вопроса.


Ответы:



2

На самом деле, имеет смысл использовать это:

label.text = [NSString stringWithFormat:@"%.4f", answer];

Это говорит XCode отображать ваше число с 4 знаками после запятой, но не пытается «дополнить» перед числом пробелами. Например:

1.23 ->  "    1.2300"   //  When using [NSString stringWithFormat:@"%9.4f", answer];
1.23 ->  "1.2300"       //  When using [NSString stringWithFormat:@"%.4f", answer];
01.12.2014

3

попробуй что-нибудь вроде этого

label.text = [NSString stringWithFormat:@"%9.4f", answer];

где 9 означает общее количество цифр (с точки зрения заполнения для выравнивания), а 4 означает 4 десятичных знака.

23.01.2013
Новые материалы

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

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

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

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

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

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

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