Jquery jqplot饼图数据标签格式精度不带尾随零

Jquery jqplot饼图数据标签格式精度不带尾随零,jquery,formatting,jqplot,printf,pie-chart,Jquery,Formatting,Jqplot,Printf,Pie Chart,我想知道如何格式化饼图上的数据标签,使其显示最多2个十进制字符,从不显示尾随零,例如: 2 -> 2 2.0 -> 2 2.566 -> 2.57 换句话说,我在问如何设置dataLabelFormatString参数? 我知道它正在使用sprintf,因此我尝试了“%.2f”和“%g”。但是他们没有解决我的问题。由于第一个数字使每个数字都显示为十进制字符,所以另一个数字只删除尾随的零,但精度不高,因为在本例中,您放置在数字前面的数字,例如,“%.2g”表示字符的总长度 我不

我想知道如何格式化饼图上的数据标签,使其显示最多2个十进制字符,从不显示尾随零,例如:

2 -> 2
2.0 -> 2
2.566 -> 2.57
换句话说,我在问如何设置
dataLabelFormatString
参数
? 我知道它正在使用
sprintf
,因此我尝试了“%.2f”和“%g”。但是他们没有解决我的问题。由于第一个数字使每个数字都显示为十进制字符,所以另一个数字只删除尾随的零,但精度不高,因为在本例中,您放置在数字前面的数字,例如,“%.2g”表示字符的总长度

我不知道如何有效地将这两者结合起来(甚至有可能吗?)。例如,如何将参数设置为先使用“%.2f”然后使用“%g”的格式,这应该可以做到,但如何做到呢

我可以在格式中“注入”if/else吗?如果可以,那么如何


否则,我能想到的唯一方法是,一旦绘制了绘图,运行jquery脚本获取标签并在每个标签上应用
parseFloat(label.toFixed(2))

要结束这个主题,我在这里发布我的答案。多亏了
jQuery
,我成功地解决了这个问题。当涉及到客户端时,它再次看起来是一个真正的救命稻草。:)

我的做法与我在问题中提到的想法类似,即使用
parseFloat(label.toFixed(2))
。虽然我做的方式有点颠倒。我决定将图表设置为对
dataLabels
参数使用
label
。我使用
$.jqplot.postDrawHooks.push(…)
绑定函数,以便在图表绘制完成后执行。我的函数修改图例标签以显示名称,而不是在将其设置为数据数组之前计算的百分比值

这种方法完全符合我的要求


如果有人有更好的解决方案,我非常希望随时从我的答案中删除“接受”

我需要在饼图上设置标签的格式,如果是“%.2f%”,对我来说效果会更好。@Teddy谢谢。在我的例子中,我真的需要删除尾随的零,因此你提到的格式不适合我,因为它总是在点后有2位数字。在我的例子中,我在图表上有很多数据,我希望有标签,但同时要避免不必要的零散,因为零不会告诉任何事情:)