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

如何使用Jolt对十进制值进行左右补零格式化?

十进制数字格式化:固定长度补零实现

需求概要

  • 整数部分强制保留10位,长度不足时左侧补0
  • 小数部分强制保留4位,长度不足时右侧补0
  • 输入为空字符串或null时,输出标准全零格式:0000000000.0000

示例

输入(JSON):

[
  {
    "field1": "875.45",
    "field2": ""
  }
]

输出(JSON):

[
  {
    "field1": "0000000875.4500",
    "field2": "0000000000.0000"
  }
]

实现方案

Python 版本

def format_decimal(input_str):
    # 处理空值或空字符串
    if not input_str:
        return "0000000000.0000"
    
    # 拆分整数与小数部分
    if '.' in input_str:
        integer_part, decimal_part = input_str.split('.', 1)
    else:
        integer_part = input_str
        decimal_part = ''
    
    # 补零处理:整数左补0到10位,小数右补0到4位(超过4位则截断)
    formatted_integer = integer_part.zfill(10)
    formatted_decimal = decimal_part.ljust(4, '0')[:4]
    
    return f"{formatted_integer}.{formatted_decimal}"

# 测试示例数据
test_data = [{"field1": "875.45", "field2": ""}]
formatted_result = []
for item in test_data:
    processed_item = {k: format_decimal(v) for k, v in item.items()}
    formatted_result.append(processed_item)

print(formatted_result)

JavaScript 版本

function formatDecimal(inputStr) {
    // 处理空值或空字符串
    if (!inputStr) {
        return "0000000000.0000";
    }
    
    // 拆分整数与小数部分,小数部分默认空字符串
    const [integerPart, decimalPart = ''] = inputStr.split('.');
    
    // 补零处理:整数左补0到10位,小数右补0到4位(超过4位则截断)
    const formattedInteger = integerPart.padStart(10, '0');
    const formattedDecimal = decimalPart.padEnd(4, '0').slice(0, 4);
    
    return `${formattedInteger}.${formattedDecimal}`;
}

// 测试示例数据
const testData = [{"field1": "875.45", "field2": ""}];
const formattedResult = testData.map(item => {
    const processed = {};
    for (const key in item) {
        processed[key] = formatDecimal(item[key]);
    }
    return processed;
});

console.log(formattedResult);

注意事项

  • 如果输入整数部分长度超过10位,上述代码会保留原长度(例如123456789012.34会输出123456789012.3400),若需强制截断为10位,可修改逻辑取整数部分的最后10位或前10位。
  • 若需对超过4位的小数进行四舍五入而非截断,可引入数值处理逻辑(如Python的decimal模块、JavaScript的toFixed方法),但需注意浮点数精度问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:43:12