Morris.js,格式编号为巴西货币



我正在尝试使用Morris来创建一个图,它几乎可以实现所有功能。我的问题是,我必须使用巴西格式的数字。应该是";1.234,00";取而代之的是";1234.00";。有人知道如何改变?我试了很多次,但都找不到办法。。。我尝试在PHP中使用函数format_number,但当我更改为巴西格式时,图形无法打开。库链接:http://morrisjs.github.io/

<script>
Morris.Bar({
element: 'mr-Volumetria',
data: [
{x: '12/2019', y: 60.72},
{x: '9/2020', y: 249.46},
{x: '10/2020', y: 275.54},
{x: '11/2020', y: 3501.50},
{x: '12/2020', y: 3739.24}
],
xkey: 'x',
ykeys: ['y'],
labels: ['Valor do mês'],
barColors: function (row, series, type) {
if(type === 'bar'){
var red = Math.ceil(255 * row.y / this.ymax);
return 'rgb('+red+',0,0)';
}else{
return '#000000';
}
}
});
</script>

莫里斯

严格回答您的问题:您可以使用yLabelFormat配置选项根据自己的喜好格式化Y值。

下面关于如何格式化";pt BR";(巴西格式(使用香草JavaScript。根据目标浏览器的不同,您可能需要polyfillIntl.NumberFormat。更多详细信息请点击此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat

<link href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<div id="mr-Volumetria" style="height: 250px;"></div>
<script>
Morris.Bar({
element: 'mr-Volumetria',
data: [
{x: '12/2019', y: 60.72},
{x: '9/2020', y: 249.46},
{x: '10/2020', y: 275.54},
{x: '11/2020', y: 3501.50},
{x: '12/2020', y: 3739.24}
],
xkey: 'x',
ykeys: ['y'],
labels: ['Valor do mês'],
barColors: function (row, series, type) {
if(type === 'bar'){
var red = Math.ceil(255 * row.y / this.ymax);
return 'rgb('+red+',0,0)';
}else{
return '#000000';
}
},
yLabelFormat: function(y) {return new Intl.NumberFormat("pt-BR").format(y);}
});
</script>

最新更新