additionalFields 获取到的值如果为补0的值(1.00000)对其设置precision不生效,但如果使用[[value]]生效,如果值为(1.23456)都生效
你好,欢迎加入社区!
这个问题能给个可以重现的代码或小项目吗?
主要代码在此处现在balloonText里面的值如果为additionalFields 获取到且为补0的值,precision不生效
这个是 AmCharts 的问题,需要通过 balloonFunction
解决,例如:
<chart:graphs>
<chart:graph id="g1"
bullet="ROUND"
bulletColor="WHITE"
bulletSize="5"
hideBulletsCount="50"
lineThickness="2"
useLineColorForBulletBorder="true"
valueField="price"
precision="2"
balloonText="<span style='font-size:18px;color:blue;'>[[price]]</span>">
<chart:balloon adjustBorderColor="false"
color="WHITE"
drop="true"/>
<chart:balloonFunction>
<![CDATA[
function(item, graph) {
var result = graph.balloonText;
var price = AmCharts.formatNumber(item.dataContext['price'], {
precision: graph.precision,
decimalSeparator: '.',
thousandsSeparator: ','
}, 2);
return result.replace('[[price]]',price);
}
]]>
</chart:balloonFunction>
</chart:graph>
</chart:graphs>
这里对 price 的格式化调用了 amcharts 的 formatNumber:
你也可以自己用其他 JS 函数实现,例如 toFixed()
。
效果:
1 个赞