编辑代码

#include <stdio.h>

double pow(double x, double y)
{
    int i;
    double data = 1;
    for(i=0;i<y;i++)
    {
        data = data*x;
    }
    return data;
}

void uart2_rev_par(unsigned char* rx_buf, int len)  //适用0~9.999,可以不用写满小数点位
{
        int i = 0;
        float acc = 0;
        //if(rx_buf[5] == '.') //0x2E //说明有小数
        {
            for(i = 0; i < (len-6); i++)
            {
                acc += (((float)(rx_buf[i+6] - 0x30)) / pow(10.00,i+1));
                printf("%f\r\n",acc);
            }
            acc = (rx_buf[4]-0x30) + acc;
        }
        // else
        // {
        //     for(i = 4; i < len; i++)
        //     {
        //         acc += (rx_buf[i] - 0x30) * pow(10, len - 1 - i);
        //         printf("ww %f\r\n",acc);
        //     }
        // }
        printf("%.03f\r\n",acc);
}

int main () {
    //printf("%f\r\n",pow(10,-2));

    uart2_rev_par("Acc:4.8",7);
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
    printf("Hello world!     - c.jsrun.net.");
    return 0;
}