169 похожих чатов

1 ответов

6 просмотров

///roundingOfNumber.ts export default function roundingOfNumber( value: number = 0, precision: number = 8, shift: number = 0 ): number { if (value < 0.000001) { return roundingOfNumber(value * 10, precision - 1, shift + 1); } const arr = String(value).split('.'); if (arr[1]) { arr[1] = ('0'.repeat(shift) + arr[1]).slice(0, precision + shift); } console.log(`!!!! roundingOfNumber.ts:33 \n arr `, arr, '\n !!!!'); return parseFloat(arr.join('.')); } ////roundingOfNumber.test.ts import roundingOfNumber from './roundingOfNumber'; import expect from 'expect.js'; describe('roundingOfNumber', () => { const testOptions = [ { input: 1, output: 1 }, { input: 1.1, output: 1.1 }, { input: 1.9999999999, output: 1.99999999 }, { input: 1.9999999999, output: 1.9999, precision: 4 }, { input: 1, output: 1, precision: 4 }, { input: 0.00009, output: 0, precision: 4 }, { input: 0.00009, output: 0, precision: 4 }, { input: 0.000000999, output: 0, precision: 4 }, { input: 0.000000999, output: 0.00000099, precision: 8 }, { input: 0.0000000000999, output: 0, precision: 10 }, { input: 0.0000000000999, output: 0.00000000009, precision: 11 }, ]; testOptions.forEach((item, index) => { const result = roundingOfNumber(item.input, item.precision); it(`Option ${index + 1}: ${item.input} => ${item.output} precision=${ item.precision } result=${result}`, () => { expect(result).to.be(item.output); }); }); });

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Привет, имею проблему с better-sqlite3 модулем. После npm install я делаю ребилд модуля под свою текущую версию ноды с помощью npx electron-rebuild -f -m node_modules/better-s...
Anton Samofal
1
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Я вот так сделал, без base. Шаблон text называется, его контроллер: <?php namespace EvolutionCMS\Main\Controllers; use EvolutionCMS\TemplateController; class TextTemplateCo...
Oleg Nosov
1
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
Карта сайта