用函数去掉小数点的特定位

#include<stdio.h>
#define BIT_LENGTH  4
 
 int DAF_Comm_Float2Char(float value, char *array)
{
int IntPart;
float DecPart;
int i = 0;
int j = 0;
char temp;


//分离整数和小数
if (value >= 1)
{
IntPart = (int)value;
DecPart = value - IntPart;
}
else
{
IntPart = 0;
DecPart = value - IntPart;
}




/*convert the IntPart*/


if (IntPart == 0)
{
array[0] = '0';
array[1] = '.';
i = 1;
}
else
{
while (IntPart > 0)
{
array[i] = IntPart % 10 + '0';
IntPart /= 10;
i++;
}
i--;






//fix the result
for (j = 0; j<i; j++)
{
temp = array[j];
array[j] = array[i - j];
array[i - j] = temp;
}
i++;
array[i] = '.';
}


/*convert the DecPart*/
i++;
array[i++] = (int)(DecPart * 10) % 10 + '0';
array[i++] = (int)(DecPart * 100) % 10 + '0';
array[i++] = (int)(DecPart * 1000) % 10 + '0';
array[i++] = (int)(DecPart * 10000) % 10 + '0';
array[i] = '\0';
return i;
}


int main()
{
float f = 4.51234;
char ch[BIT_LENGTH];
int m=DAF_Comm_Float2Char(f, ch);
printf("%d\n\n\n",m);
for (int i = 0; i < BIT_LENGTH; i++)
{
printf("%c",ch[i]);
}


return 0;

}




运行结果为:

4.51

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值