Привет всем, у меня есть код скрипта, который отлично работает и отображает проценты круговой диаграммы. Процент отображает 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%.
Math.round(15.123456789123456)
15
Math.floor(15.123456789123456)
15
Math.ceil(15.123456789123456)
16
замените 15.123456789123456 на this.percentage
использование
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>
parseInt( this.percentage )
Это даст только часть целого числа и, хотя не соответствует вашим потребностям, также работает для отрицательных чисел.
Как насчет использования 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);
});
});
Взгляни на это скрипка
Чтобы округлить числа, например, до 2 десятичных знаков, вы можете использовать следующее:
this.percentage = Math.round(this.percentage * 100) / 100;