标题: C语言程序 几千万的数,怎样分开个位十位千位? [打印本页]

作者: xiaoyuxinke    时间: 2023-10-1 17:55
标题: C语言程序 几千万的数,怎样分开个位十位千位?
比如一个千万内的数
u32   how_many=12345678;                       //运行多少次变量
我想把这个变量分开为
千万
百万
十万





具体程序怎么写法,求教大神了。

作者: 新昌小徐    时间: 2023-10-1 22:26
你得把这个数赋给一个变量,如变量m,求m%10的值,就是求m除以10的余数,这样得到的值就是个位数。然后变量m除以10后再赋还给m,再次循环上面的步骤,就能求得十位数。循环多次,得到所有位数,这里循环8次。
作者: joyb    时间: 2023-10-2 08:46
/**
  * @brief  返回值=X的Y次方
  */
u32 LCD_Pow(int X,int Y)
{
        unsigned char i;
        int Result=1;
        for(i=0;i<Y;i++)
        {
                Result*=X;
        }
        return Result;
}

void LCD_ShowNum(unsigned char Line,unsigned char Column,u32 Number,unsigned char Length)
{
        unsigned char i;
        LCD_SetCursor(Line,Column);
        for(i=Length;i>0;i--)
        {
                LCD_WriteData(Number/LCD_Pow(10,i-1)%10+'0');
        }
}
作者: wjhhhhh    时间: 2023-10-2 10:29
看看有没有参考价值                                                                               

void shushu(u32 zhi2)
{unsigned int bb,cc,dd, ee;  
unsigned long aa;
          xian_zi[5]=dis_code1[zhi2/100000];aa=zhi2  % 100000;
          xian_zi[4]=dis_code1[aa  /10000  ]; bb=aa   % 10000;
          xian_zi[3]=dis_code1[bb  /1000    ]; cc=bb   % 1000;
          xian_zi[2]=dis_code1[cc  /100      ];  dd=cc   % 100;       
          xian_zi[1]=dis_code1[dd  /10       ];  ee=dd   % 10;         
          xian_zi[0]=dis_code1[ee              ];               
         
}       
作者: vscos    时间: 2023-10-3 06:55
有个%符号可以除十取余数呀
作者: xiaoyuxinke    时间: 2023-10-3 21:01
vscos 发表于 2023-10-3 06:55
有个%符号可以除十取余数呀

我弄成这样了,不知道对不对,反正现在可以正常显示了。
作者: esslitao    时间: 2023-10-4 08:08
本帖最后由 esslitao 于 2023-10-5 08:02 编辑

//----------运算函数-------------------//  void data_yunsuan(u16 aaa)
{         
weighttable[6]=aaa%10;         
weighttable[5]=aaa/10%10;         
weighttable[4]=aaa/100%10;        
weighttable[3]=aaa/1000%10;         
weighttable[2]=aaa/10000%10;      
weighttable[1]=aaa/100000%10;        
weighttable[0]=aaa/1000000;   
}

作者: esslitao    时间: 2023-10-4 08:09
我是这样完成的----在LCD中显示。
//----------运算函数-------------------//
void data_yunsuan(u16 aaa)
{  
       weighttable[6]=aaa%10;  
       weighttable[5]=aaa/10%10;  
       weighttable[4]=aaa/100%10;
       weighttable[3]=aaa/1000%10;
       weighttable[2]=aaa/10000%10;
       weighttable[1]=aaa/100000%10;
       weighttable[0]=aaa/1000000;   
}
作者: xiaoyuxinke    时间: 2023-10-21 20:00
多谢各位了,已经懂了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1