问题描述
我正在使用HighChart,需要将货币值格式化为特定格式。
示例-> XX.XXX.XXX,XX€
我正在highchart中使用此函数来正确设置值的格式:
formatter: function () {
return parseFloat (this.total,10) .toFixed (2) .replace (/ (\ d) (? = (\ d {3}) + \.) / g,'$ 1,'). toString () + ' € ';
}
问题是我没有得到想要的匹配点和逗号。
值示例:
Given -> 1052325
Expected -> 10.523,25 €
Current value obtained -> 10,523.25
我可以做一个新的replace()并更改点的逗号,但是我想立即在REGEXP上知道如何做。
非常感谢您
解决方法
好的。我无法使用HighChart中的某些功能。
中尝试了此代码Highcharts.chart('container',{
series: [{
data: [1052325],dataLabels: {
enabled: true,formatter: function() {
var originalString = parseFloat(this.y,10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,'$ 1,').toString();
var finalPriceString = originalString.split('');
var finalPriceStringLenght = finalPriceString.length;
var rowtoChange = finalPriceStringLenght - 3;
finalPriceString[rowtoChange] = 'I';
var lastString = finalPriceString.join('') + ' €';
alert(lastString);
}
}
}] });
该代码可在Fiddle示例中使用,但当我将其放入Highchart Json中时将无法使用。
我现在尝试了另一种方法,我一直使用这种字符串格式,所以我只想替换字符串末尾的第三个字符。
为此,我将其与regexp一起使用:
stringFormated.replace(/.$/,',');
它可以正常工作并且可以很好地替换。问题在于它始终位于字符串的最后一个字符。我希望它移到字符串末尾的第三个字符。
最诚挚的问候