如何将此百分比转换为带小数位数的整数


How to this percentage to a whole number with decimal places

大家好,我有脚本代码,它可以完美地工作,并显示饼图百分比。百分比显示小数点后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。百分比

使用

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(value(怎么样

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);
    });
});

看看这个Fiddle

例如,要将数字四舍五入到2位小数,可以使用以下内容:

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

当我们在JavaScript函数中时,Number.prototype.toFixed() 如何

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

点击此处阅读:MDN链接

请参阅此处的示例:Codepen