#include<stdio.h>
#include<math.h>
//打印任意整数
void printDigit(int count){
if(count>0){
if(count>10){
printDigit(count/10);
}
//else
{
printf("%d",count%10);
}
}else{
count=0-count;
printf("-");
printDigit(count);
}
}
//自已实现round函数
float myRound(float count,int num){
double f=pow(10.0,double(num));
double t;
double x=count*f;
if(x>=0){
t=ceil(x);
if((t-x)>0.500000000001){
t-=1.0;
}
}
///只处理正的
else{
t=ceil(-x);
if((t+x)>0.500000000001){
t-=1.0;
}
t=-t;
}
x=t/f;
return float(t);
}
//找印任意实数 round实现了四舍五入
void printDigit2(float count,int num){
int mode=1;
if(count>0){
for(int i=0;i<num;i++){
count=count*10;
mode=mode*10;
}
count=myRound(count,0);
int num1=count/mode;
int num2=(int)(count)%mode;
printDigit(num1);
printf(".");
printDigit(num2);
}else if(count<0){
printf("-");
printDigit2(0.0-count,num);
}
}
int main(){
printDigit2(-203.4567,4);
}