#include <stdio.h>
bool ftos(float num,char *s,int n)
{
int temp;
float t=num;
int pn=0;
bool flag_s=true;
bool flag_z=false;
for(int i=n;i>0;i--)
t=t*10;
printf("%f\n",t);
temp=t;
printf("%d\n",temp);
if(temp<0)
{
temp=-temp;
t=-num;
flag_s=false;
}
if(temp==0)
{
if(n>0)
{
for( pn=0;pn<n;pn++)
{
*(s+pn)='0';
}
*(s+pn)='\.';
++pn;
}
*(s+pn)='0';
++pn;
if(!flag_s){
*(s+pn)='\-';
++pn;
}
*(s+pn)='\0';
}
else
{
while(temp>0)
{
if(pn==n && n>0)
{
*(s+pn)='\.';
++pn;
}
else{
*(s+pn)=(temp%10)+'0';
temp=temp/10;
++pn;
}
}
while(pn<n)
{
*(s+pn)='0';
++pn;
}
if(pn==n)
{
*(s+pn)='\.';
++pn;
if(flag_s){
*(s+pn)='0';
++pn;
}
}
if(!flag_s){
if(t<1.0){
*(s+pn)='\.';
++pn;
*(s+pn)='0';
++pn;
}
*(s+pn)='\-';
++pn;
}
*(s+pn)='\0';
}
int i(0),j(pn-1);
while(i<j)
{
int temp=*(s+i);
*(s+i)=*(s+j);
*(s+j)=temp;
++i;
j--;
}
return true;
}
int main()
{
char s[20];
float num=123.456;
int n=3;
scanf("%f",&num);
scanf("%d",&n);
printf("float num is %f\n",num);
if(ftos(num,s,n))
{
printf("after convert is %s\n",s);
}
return 0;
}
相关文章
- 方法将一个字符串转换成int型
- python整型-浮点型-字符串-列表及内置函数(上)
- 总结全网C#取随机数方法(整型,浮点型,字符串)
- python 字符串和整数,浮点型互相转换
- python将科学计数法表示的数值的字符串转换成数值型数据
- 浮点数转换成十六进制字符串的方法 - ╰★张志峰★╮
- SQL Server ->> 利用CONVERT/STR/FORMAT函数把浮点型数据格式化/转换成字符串
- while循环补充、for循环、range关键字、内置方法之整型、内置方法之浮点型、内置方法之字符串
- 怎样把字符串转换成浮点类型??急急!!
- 【Python】数据类型转换 ( 数据类型转换函数 | 整数 / 浮点数转字符串示例 | 字符串转整型 / 浮点型示例 | 整数 / 浮点数互相转换 )