You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HighCharts地图悬浮提示中将数值格式化为$美元货币格式

Highcharts Maps 悬浮提示美元格式配置方案

Highcharts 默认的悬浮提示(tooltip)不会自动将数值格式化为货币样式,直接补充对应配置即可实现带$符号、千分位分隔、保留两位小数的美元展示效果,两种常用实现方式如下:

  • 方案1:固定格式串配置(最简便,无特殊逻辑优先用)
    直接在配置中新增和series平级的tooltip项,通过内置格式符指定数值展示规则,修改后完整核心配置如下:
tooltip: {
    pointFormat: '{series.name}: <b>${point.value:,.2f}</b><br/>'
},
series: [
    {
        type: 'map',
        name: 'Orders $',
        states: {
            hover: {
                color: '#BADA55',
            },
        },
        dataLabels: {
            enabled: true,
            format: '{point.name}',
        },
        allAreas: true,
        data: this.model,
    },
],

格式符:,.2f代表数字按千分位逗号分隔、保留2位小数,拼接前置$符号后,最终展示效果为Orders $: $12,345.67这类标准美元格式。如果只想对当前地图系列生效,也可以把tooltip配置挪到对应series的配置项内部,优先级高于全局tooltip配置。

  • 方案2:自定义格式化函数(适配复杂逻辑)
    如果需要处理空值、0值特殊展示、额外字段拼接等自定义逻辑,可以用pointFormatter代替固定格式串,示例如下:
tooltip: {
    pointFormatter: function() {
        // 空值展示N/A,非空值格式化为美元格式
        const amount = this.value ? `$${Highcharts.numberFormat(this.value, 2, '.', ',')}` : 'N/A';
        return `<b>${this.name}</b><br/>${this.series.name}: ${amount}`;
    }
}

注意:如果你的数据源中存储金额的字段不是Highcharts默认识别的value字段,将上述代码中的point.value/this.value替换为你实际使用的字段名即可(比如字段名为amount就对应修改为point.amount/this.amount)。

内容的提问来源于stack exchange,提问作者Ian Vink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:45:49