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

如何将数字格式化为带点式千位分隔符的String类型

数字转带点分隔符字符串的实现方法

不管你用什么编程语言,核心思路要么是手动处理字符串分组,要么利用语言内置的格式化工具快速实现,以下是具体方案:

一、通用手动实现法(适用于所有语言)

核心逻辑是通过字符串反转,把从右往左每3位分组的需求转换成从左往右分组,再反转回来:

  1. 将数字转为字符串,负数先单独保留负号,只处理数字部分;
  2. 反转数字字符串;
  3. 每3个字符分割成一组,用点连接;
  4. 再次反转拼接后的字符串,加上负号(如果原数是负数)。

Python 示例代码

def format_number(num):
    num_str = str(abs(num))
    reversed_str = num_str[::-1]
    # 每3位分割成列表
    groups = [reversed_str[i:i+3] for i in range(0, len(reversed_str), 3)]
    # 拼接后反转回原顺序
    formatted = '.'.join(groups)[::-1]
    return f'-{formatted}' if num < 0 else formatted

# 测试用例
print(format_number(1000000))    # 输出: 1.000.000
print(format_number(750000))     # 输出: 750.000
print(format_number(123))        # 输出: 123
print(format_number(1234567890)) # 输出: 1.234.567.890
print(format_number(-456789))    # 输出: -456.789

二、利用语言内置格式化工具(更简洁)

大部分编程语言都自带数字格式化API,直接配置分组分隔符为点即可:

Java 示例代码

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;

public class NumberFormatter {
    public static String formatNumber(long num) {
        // 自定义分组分隔符为点
        DecimalFormatSymbols symbols = new DecimalFormatSymbols();
        symbols.setGroupingSeparator('.');
        // #,### 表示每3位分组的格式
        DecimalFormat formatter = new DecimalFormat("#,###", symbols);
        return formatter.format(num);
    }

    public static void main(String[] args) {
        System.out.println(formatNumber(1000000));    // 1.000.000
        System.out.println(formatNumber(750000));     // 750.000
        System.out.println(formatNumber(987));        // 987
        System.out.println(formatNumber(123456789));  // 123.456.789
    }
}

JavaScript 示例代码

利用Intl.NumberFormat,选择使用点作为分组分隔符的地区(如德语区):

function formatNumber(num) {
    return new Intl.NumberFormat('de-DE').format(num);
}

// 测试
console.log(formatNumber(1000000));    // 1.000.000
console.log(formatNumber(750000));     // 750.000
console.log(formatNumber(567));        // 567
console.log(formatNumber(987654321));  // 987.654.321

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:15:39