javascript — как этот процент до целого числа с десятичными знаками

Привет всем, у меня есть код скрипта, который отлично работает и отображает проценты круговой диаграммы. Процент отображает 15 знаков после запятой, и я хочу, чтобы это было целое число. Вот мой код Спасибо за помощь.

<script type="text/javascript">
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Total Number of Patients Per Month'
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: []
}]
}

$.getJSON("data.php", function(json) {
options.series[0].data = json;
chart = new Highcharts.Chart(options);
});



});
</script>

Диаграмма отображается с 15 знаками после запятой, например, 15.123456789123456%.

0

Решение

Math.round(15.123456789123456)
15

Math.floor(15.123456789123456)
15

Math.ceil(15.123456789123456)
16

замените 15.123456789123456 на this.percentage

0

Другие решения

использование

Math.floor()

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

<script type="text/javascript">
$(document).ready(function() {
var options = {
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Total Number of Patients Per Month'
},
tooltip: {
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ Math.floor(this.percentage) +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ Math.floor(this.percentage) +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: []
}]
}

$.getJSON("data.php", function(json) {
options.series[0].data = json;
chart = new Highcharts.Chart(options);
});



});
</script>
0

parseInt( this.percentage )

Это даст только часть целого числа и, хотя не соответствует вашим потребностям, также работает для отрицательных чисел.

0

Как насчет использования Math.floor (значение)

HTML

 <p>
<input type="text" id="source" value="15.123456789123456789">
<input type="text" id="target" value="">
</p>
<input type="submit" id="floorIt" value="To Integer">

JS

$(document).ready(function () {
$("#floorIt").click(function (e) {
var sourceValue = $("#source").val();
var targetValue = Math.floor(sourceValue);

$("#target").val(targetValue);
});

});

Взгляни на это скрипка

0

Чтобы округлить числа, например, до 2 десятичных знаков, вы можете использовать следующее:

this.percentage = Math.round(this.percentage * 100) / 100;

0

Как внутри функции JavaScript, как насчет Number.prototype.toFixed()

return '<b>'+ this.point.name +'</b>: '+ this.percentage.toFixed(0) +' %';

Читайте здесь: MDN Link

Смотрите пример здесь: Codepen

0
По вопросам рекламы [email protected]