Результаты округления в скрипте jquery - PullRequest
19 голосов
/ 31 января 2012

Я знаю, что это немного там ... но все равно буду спрашивать. Я использую высокоуровневый сценарий jquery (http://www.highcharts.com/) для создания круговой диаграммы. Я пытаюсь округлить числовые результаты на круговой диаграмме и не могу найти никакой документации для этого. Я застрял!

Мои данные выглядят примерно так:

data: [
    ['Equity',   3],
    ['Cash',     6]
]

И выводит круговая диаграмма: +33,333333333333 а также +66,666666666666

Я бы предпочел округлить результаты в большую и меньшую сторону, соответственно, чтобы он показывал и отображал 33 и 64. Кто-нибудь знает, как это можно настроить в старших чартах?

Ответы [ 6 ]

45 голосов
/ 01 февраля 2012

In в параметре всплывающей подсказки в объекте конфигурации используйте Math.round () в функции форматера.

   tooltip: {
     formatter: function() {
        return '<b>'+ this.point.name +'</b>: '+ Math.round(this.percentage) +' %';
     }
  },
30 голосов
/ 01 августа 2013
tooltip: {
  valueDecimals: 2
},
22 голосов
/ 01 февраля 2012

В API Highcharts доступна функция numberFormat, которую вы можете использовать (см. http://www.highcharts.com/ref/#highcharts-object).

Цитируется из API doc:

numberFormat (Number number, [Number decimals], [String decimalPoint], [String тысячSep]): String

Форматирует число JavaScript с сгруппированными тысячами, фиксированным количеством десятичных знаков и необязательной десятичной точкой. Это портфункции PHP с тем же именем. См. PHP number_format для полного объяснения параметров.

tooltip: {
    formatter: function() {
        return ''+ this.series.name +''+
            this.x +': '+ Highcharts.numberFormat(this.y, 0, ',') +' millions';
    }
}, ...

Параметры

  • number: Number Необработанное число для форматирования.
  • decimals: Number Требуемое количество десятичных знаков.
  • decimalPoint: String Десятичная точка. По умолчанию используется "." Или строка, указанная глобально в options.lang.decimalPoint.
  • тысячSep: String Разделитель тысяч. По умолчанию "," или строка, указанная глобально в options.lang.thousandsSep.

Возвращает

Строка с формой входного числаatted.

6 голосов
/ 04 марта 2013

Вместо использования formatter вы можете установить yDecimals как 2:

tooltip: {
    yDecimals: 2
}

yDecimals : Number
How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.

4 голосов
/ 24 октября 2012
tooltip: {
    formatter: function() {
        return '<b>'+ this.point.name +'</b>: '+ Math.round(this.percentage*100)/100 +' %';
    }
},
0 голосов
/ 26 июня 2013

попробуйте

percentageDecimals: 0 

в вашей подсказке

...