Округление до 2 знаков после запятой (только при необходимости)

inline bool operator==(const Foo& a, const Foo& b) {
    ..
  }

Функции-члены являются неявными в строке, если они определены внутри их класса. То же самое верно для них: true, если они могут быть помещены в заголовок без проблем, вы действительно можете это сделать.

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

2354
задан TylerH 30 April 2019 в 19:13
поделиться

4 ответа

Существует решение, работающее на все числа, дайте ему попытку. выражение дано ниже.

Math.round((num + 0.00001) * 100) / 100. Try Math.round((1.005 + 0.00001) * 100) / 100 and Math.round((1.0049 + 0.00001) * 100) / 100

я недавно протестировал каждое возможное решение и наконец достиг вывода после попытки почти 10 раз. Вот снимок экрана вопроса, поднятого во время caculations, Screen Capture .

голова к amount поле, Это возвращается почти бесконечный. Я дал попытку toFixed() метод, но он не работает на некоторые случаи (т.е. попытка с PI) и наконец полученное s решение, данное выше.

0
ответ дан Kiran Maniya 4 October 2019 в 07:11
поделиться
  • 1
    @cephus я использую Ваш первый код, но мне нужна строка сверх представления. It' s в центре моего представления. Как я могу установить силу тяжести для него (в форме xml файл)? – Behzad 10 January 2013 в 19:22

Небольшая вариация на это состоит в том, если необходимо отформатировать сумму валюты или как то, чтобы быть целой суммой валюты или как сумму с дробными частями валюты.

, Например:

1 должен произвести 1$

1.1, должен произвести 1,10$

1.01, должен произвести 1,01$

, объем Принятия является числом:

const formatAmount = (amount) => amount % 1 === 0 ? amount : amount.toFixed(2);

, Если сумма не является числом затем, используют parseFloat (сумма) для преобразования его в число.

2
ответ дан 22 November 2019 в 19:51
поделиться

Быстрая функция помощника, где rounging Вы округление по умолчанию: позвольте rounding=4;

let round=(number)=>{ let multiply=Math.pow(10,rounding);  return Math.round(number*multiply)/multiply};

console.log(round(0.040579431));

=> 0.0406

0
ответ дан 22 November 2019 в 19:51
поделиться

Я создал эту функцию для округления числа. Значение может быть строкой (напр. '1.005') или номер 1.005, который будет 1 по умолчанию и если Вы указываете десятичное число, чтобы быть 2, результат будет 1.01

round(value: string | number, decimals: number | string = "0"): number | null {
    return +( Math.round(Number(value + "e+"+decimals)) + "e-" + decimals);
}

Использование: вокруг (1.005, 2)//1.01 или Использование: вокруг ('1.005', 2)//1.01

0
ответ дан 22 November 2019 в 19:51
поделиться
Другие вопросы по тегам:

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