小编use*_*607的帖子

如何在C中将float拆分为两个整数

下面我试图设置一个格式说明符,但每次调用该函数时我都想以不同的方式进行.关键是打印浮点数Data_Ave.在一个实例中,我想要说明符%2.3f,因此我将为sig_figs_before传递函数a 2,为sig_figs_after传递3.在下一个例子中,我想要%1.4f,所以我会通过那些整数.

char * Send_Data(float Data[10], const char* SUBJECT_SEND_NAME, char *Data_Backup, int sig_figs_before, int sig_figs_after)
{
  float Data_Ave = ((Data[0] + Data[1] + Data[2] + Data[3] + Data[4] +
            Data[5] + Data[6] + Data[7] + Data[8] + Data[9])/10);
  sprintf(msgBody,"%%i.%if, ", before_decimal, after_decimal, Data_Ave);
  ... //Some more code
  }
Run Code Online (Sandbox Code Playgroud)

我很确定这不会起作用,所以我想将浮动分成两个整数并按照这样打印:

sprintf(msgBody,"%i.%i, ", int_value, decimal_value);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何正确拆分浮子.有什么建议?

c format-specifiers

4
推荐指数
1
解决办法
745
查看次数

标签 统计

c ×1

format-specifiers ×1