Медленная беспроводная связь с rt2800pci

Функции Math.round () и .toFixed () предназначены для округления до ближайшего целого числа. Вы получите неверные результаты при работе с десятичными знаками и использовании метода «умножить и разделить» для Math.round () или параметра для .toFixed (). Например, если вы попытаетесь округлить 1,005, используя Math.round (1.005 * 100) / 100, вы получите результат 1, а 1,00 - .toFixed (2) вместо того, чтобы получить правильный ответ 1,01.

Вы можете использовать следующее для решения этой проблемы:

Number(Math.round(100 - (price / listprice) * 100 + 'e2') + 'e-2');

Добавьте .toFixed (2), чтобы получить два десятичных знака, которые вы хотели.

Number(Math.round(100 - (price / listprice) * 100 + 'e2') + 'e-2').toFixed(2);

Вы можете создать функцию, которая будет обрабатывать округление для вас:

function round(value, decimals) {
    return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);
}

Пример: https://jsfiddle.net/k5tpq3pd/36/

Альтернатива

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

Number.prototype.round = function(decimals) {
    return Number((Math.round(this + "e" + decimals)  + "e-" + decimals));
}

и используйте его так:

var numberToRound = 100 - (price / listprice) * 100;
numberToRound.round(2);
numberToRound.round(2).toFixed(2); //Converts it to string with two decimals

Пример https://jsfiddle.net/k5tpq3pd/35/

Источник: http://www.jacklmoore.com/notes/rounding-in-javascript/

1
задан 04.05.2020, 19:02

3 ответа

Проверьте, отключили ли вы управление питанием, используя:

iwconfig

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

sudo iwconfig wlan0 power off

. Это сработало для меня (I). иметь адаптер D-Link DWL-G122).

Если вы хотите постоянно отключать управление питанием, вы должны иметь /etc/rc.local следующим образом:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sleep 10
iwconfig wlan0 power off
exit 0

Здесь вы можете добавить команды, которые вы хотите запускать при запуске, но последняя строка должна быть всегда выход 0

2
ответ дан 04.05.2020, 19:03

Не уверен, что вы когда-нибудь решили эту проблему, но мне пришлось отключить управление питанием на карте, используя

sudo iwconfig wlan0 power off

, и Wi-Fi начал работать на полной скорости на этом ноутбуке. Это было в Ubuntu 16.04.

1
ответ дан 04.05.2020, 19:04

Отключение управления питанием решило это и для меня в Ubuntu 16.04.

Однако мне придется запускать sudo iwconfig wlan0 power off каждый раз, когда я подключаюсь к сети.

Для этого я проиллюстрировал решение на https://askubuntu.com/a/825976/349291

.
0
ответ дан 04.05.2020, 19:04

Теги

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