#ifndef FORMAT_UTILS_H
#define FORMAT_UTILS_H

#include <stdint.h>
#include "data_config.h"
#include "bsp_type.h"

/**
 * @brief  格式化浮点数为指定小数位数的字符串
 * @param  precision  精度控制：0-3，0表示整数格式
 * @param  value      待格式化的浮点数值
 * @param  buffer     输出缓冲区
 * @param  buffer_size 缓冲区大小（安全参数）
 * @return 成功写入的字符数，失败返回负数
 */
int format_float_to_string(uint8_t precision, float value, 
                           char* buffer, int buffer_size);

/**
 * @brief  更通用的格式化函数，支持更多选项
 * @param  value      待格式化的值
 * @param  precision  小数位数（0-6）
 * @param  buffer     输出缓冲区
 * @param  add_cr     是否添加回车符（"\r"）
 * @return 成功写入的字符数
 */
int format_number(float value, int precision, char* buffer, 
                  int buffer_size, bool add_cr);


void formate_set_value_to_str(const TSETTABLE *fix_val , t_datafixval_cfg *fix_val_cfg , char* buf);

#endif // FORMAT_UTILS_H