怎样把这个数"123.45"分别存在各个变量里。

怎样把这个数"123.45"分别存在5变量里。例如:unsigned int A0,A1,A2,A3,A4; A0=1(百位); A1=2(十位); A2=3(个位); A3=4(小数1位); A4=5(小数2位);
2026年09月26日 16:16
有5个网友回答
网友(1):

double A = 123.45
int A0 = (int)(A / 100) % 10; // A/100 = 1.2345, 取整为1,再除10求莫,为1
int A1 = ((int)(A / 10))% 10; // A/10 =12.345,取整为12,再除10求莫,为2
int A2 = ((int)A) % 10; // A取整为123,除10求莫,为3
int A3 = ((int)(A * 10)) % 10; // A*10=1234.5,取整为1234,再除10求莫,为4
int A5 = ((int)(A * 100)) % 10; // A*10=12345,取整为12345,再除10求莫,为5

网友(2):

你要问的是什么啊? 你自己不都存好了

网友(3):

C# 代码:
double ft = 123.45;
string[] ftarray = ft.ToString().Split('.');
string strft = ftarray[0] + ftarray[1];
int[] result = new int[strft.Length];
for (int i = 0; i < strft.Length; i++)
{
if (strft[i] != '.')
result[i] = int.Parse(strft[i].ToString());
}

网友(4):

C语言解法:
float x = 123.45f;
unsigned int y = (int)x;
unsigned int A0 = (y / 100) % 10;
unsigned int A1 = (y / 10) % 10;
unsigned int A2 = y % 10;
unsigned int A3 = (unsigned int)((x - (float)y) * 10.0f);
unsigned int A4 = (unsigned int)((x - (float)y) * 100.0f) % 10;

网友(5):

#include
void main(){
double num = 123.45;
int A0 = (int)123.45 / 100;

先将123.45转化成整型的123 ,

再运算123 / 100,当除数与被除数都是整型的时候,结果也是整数,即得到1。

int A1 = (int)num % 100 / 10;

这个%符号是求余运算,就是123.45 转化成123后,与100 进行求余运算,即

计算123除以100的余数,也就是23,再进行23/10=2。 后面的同样也是。
int A2 = (int)num % 10;
int A3 =(int) (num * 100) % 100 / 10;
int A4 = (int )(num * 100) % 10;

printf("%d\n%d\n%d\n%d\n%d", A0,A1,A2,A3,A4);}