От нуля
Вдохновлен раундом к нулю .
Если ввести число любым разумным способом, округлите число «от нуля» - положительные числа округляются вверх, а отрицательные числа округляются вниз.
Если вы намереваетесь принять ввод как строку (например, через STDIN), вы должны иметь возможность обрабатывать числа с десятичной точкой или без нее. Если вы возьмете его как число, оно должно по крайней мере уметь обрабатывать точность с плавающей точкой (двойная точность не требуется) или рациональные числа.
При желании вы можете вывести число с плавающей точкой с десятичной точкой (например, 42,0). (Или даже в некоторых тестовых примерах выведите число с плавающей точкой и некоторое целое число, если это сделает ваш ответ короче.)
Стандартные лазейки не допускаются и т. Д.
Контрольные примеры
-99.9 => -100
-33.5 => -34
-7 => -7
-1.1 => -2
0 => 0
2.3 => 3
8 => 8
99.9 => 100
42.0 => 42
-39.0 => -39
.0
как это показывают тестовые примеры?-0.1
и0.1
Ответы:
Excel, 13 байт
альтернатива
источник
EVEN
, Какая странная функция ..R, 32 байта
источник
Желе , 4 байта
Монадическая ссылка, принимающая число, которое дает целое число.
Попробуйте онлайн! Или посмотрите тестовый набор .
Как?
источник
¡
работает для отрицательных чисел? Я не думаю, что это задокументировано¡
повторяющаяся природа реализована с помощьюfor index in range(repetitions)
цикла в коде.range([stop=]-1)
пусто, так как поstart
умолчанию0
и поstep
умолчанию1
и "Для положительного шага содержимое диапазонаr
определяется по формулеr[i] = start + step*i
гдеi >= 0
иr[i] < stop
." документы¡
Поведение опирается на поведение Pythonrange
, иrange(-1).__iter__().__next__()
сразу бросаетStopIteration
.Python 3 , 23 байта
Попробуйте онлайн!
-1 байт благодаря xnor
источник
(1|-(i>0))
чтобы сохранить байт(1,-1)[i>0]
.g=lambda r:0if r==0 else(int(r)+r/abs(r)if r/int(r)!=1 else r)
Желе ,
54 байтаПопробуйте онлайн!
Это портирует рекурсивный ответ Stax в Jelly, так что проверьте этот ответ для объяснения.
-1 байт благодаря Нику Кеннеди
Желе ,
65 байтПопробуйте онлайн!
-1 байт благодаря Джонатану Аллану
Как это работает
источник
ĊḞ>?0
будет работать как ваши 6 делает.AĊ×Ṡ
4 и функционально идентичен вашему первому ответу.Java (JDK) , 18 байт
Попробуйте онлайн!
Пояснения
Использует
BigDecimal
как вход и выход.BigDecimal
есть метод,setScale
который устанавливает масштаб числа. Первый параметр - это количество цифр после разделителя точек, второй - режим округления.ROUND_UP
является округлением «от нуля» и имеет значение,0
поэтому я жестко закодировал это значение.источник
Vim, 36 байт / нажатий клавиш
Попробуйте онлайн! или проверьте все тестовые случаи!
Объяснение:
источник
$F-a <esc>
вместо первой строки и макроса с/
условным обозначением вместо:g
и:norm
дает 29 байтов tio.run/##HczBCoJAFEZhWva/QpuLCNbizoxalBXRInqJMpjGCYVwmkx7/…J , 6 байт
Попробуйте онлайн!
Только 1 изменение символа от моего ответа на вопрос двоюродного брата .
источник
C # (компилятор Visual C #) ,
41 байт27 байт24 байтаПопробуйте онлайн!
Первый пост здесь, повеселился, надеюсь, вам понравится. Вроде чувствовал C # место здесь пусто
-14 tnx в @ expired data
-3 tnx в @ night2
источник
Code golf submission
функциональность, просто добавил немного своих слов в конец, но для редактирования я просто изменил эту строку кода, и я тут же забыл: обновите ссылку, которая возвращает нас к первому шагу, чтобы изменить только один раз, вроде как SOLID здесь, во всяком случае, tnx для подсказки тожеРунические чары ,
1816 байтПопробуйте онлайн!
«Добавляет» (от нуля) 0.999999 и выводит результат.
µ
это самая близкая вещь к бесконечно малым в операторах языка. С правильно работающейTrunc(x)
командой ответ теперь поддерживается в0
качестве ввода.источник
divide by input
чтобы получить «знак» входного значения, которое, конечно, делится на 0, когда ввод равен 0. Сейчас нет (хорошего) способа обойти это. Сначала нужно будет это сделать . Я буду тыкать Дениса (дополнительная выгода, ответ будет короче).0
правильно.Stax , 6 байт
Запустите и отладьте его
Процедура:
источник
C
944339 байтблагодаря потолку cat для 39 байтов
TIO
источник
Сетчатка 0.8.2 , 38 байт
Попробуйте онлайн! Ссылка включает в себя тестовые случаи. Объяснение:
Удалите нули после десятичной точки, чтобы число не было целым числом; Следующие два совпадения заканчиваются неудачей, если после десятичной точки нет цифр.
Если целая часть - все
9
s, префикс a0
позволяет переполнению приращения.Увеличьте целую часть числа.
Удалить дробную часть числа.
источник
05AB1E , 6 байтов
5-байт обязательно должно быть возможно ..
Попробуйте онлайн или проверьте все контрольные примеры .
Объяснение:
источник
JavaScript (ES6), 20 байт
Попробуйте онлайн!
комментарии
источник
n=>(~~n-n%1)%1+n
), пока не обнаружил, что мой код не работает для чисел от -1 до 1. Возможно, вы сможете выяснить, как заставить эту работу работать с последними 3 байтами, которые есть слева!Perl 6 , 18 байт
Попробуйте онлайн!
объяснение
источник
MathGolf , 5 байтов
Попробуйте онлайн!
объяснение
Приятно найти применение для
‼
оператора.источник
PHP , 30 байт
Попробуйте онлайн!
Если число не является целым числом, к нему добавляется знак -1 (для отрицательных десятичных знаков) или 1 (для положительных десятичных знаков), а затем печатается целочисленная часть нового числа.
PHP , 32 байта
Попробуйте онлайн!
В основном выходные
floor
данные ввода, если оно меньше 0, в остальномceil
.PHP , 34 байта
Попробуйте онлайн!
источник
Брахилог , 7 байт
Попробуйте онлайн!
или
⌉₁ℕ₁|⌋₁
.источник
Wolfram Language (Mathematica) , 18 байт
Попробуйте онлайн!
источник
Фактор , 57 байт
Попробуйте онлайн!
источник
APL (Dyalog Unicode) , 15 байтов
Попробуйте онлайн!
Простой Dfn. Использует
⎕IO←0
.Как:
источник
sed, 131 байт + 2 байта для
-r
флагаUngolfed
источник
Perl 5
-pF/\./
, 35 байтПопробуйте онлайн!
источник
3.0
. Для коммутаторов-pF\.
достаточно: они не//
являются обязательными.0.0
верноJavaScript (node.js),
302321 байтВдохновленный ответом C #.
Спасибо @Value Ink и @Gust van de Wal за -7 байтов!
Еще раз спасибо, @Gust van de Wal за еще -2 байта!
источник
+=
когда+
добьется цели в этом случае? -1 байтparseInt()
я бы просто использовал~~
в начале или другой побитовый оператор, такой как|0
или^0
в конце, чтобы сохранить еще один кусок байтов+=
, спасибо за указание на этоPerl 6 , 19 байт
Попробуйте онлайн!
Не самое короткое решение, но я над этим работаю. В основном это усекает число, а затем добавляет единицу к нулю, если число не было целым для начала
источник
Java (OpenJDK 8) , 43 байта
Попробуйте онлайн!
источник
return
выражения.(int)a/a<1
вa%1!=0
: 30 байтBigDecimal.setScale
метод, который дает отличные результаты, как показывает мой ответJapt , 6 байт
Попробуй здесь
источник
Красный , 46 байт
Попробуйте онлайн!
Чуть более читаемая версия на 2 байта длиннее (это длинные имена функций!):
источник
Скала , 16 байт
Попробуйте онлайн!
Scala , 22 байта
Попробуйте онлайн!
источник