我有两个 int 值,我想将它们组合成一个十进制数。例如,我有 A = 1234 和 B = 323444。两者都是 int,如果可能的话我不想更改它。
我想将它们组合起来得到1234234233.323444。
我最初的方法是将 b 除以 1e6 并将其添加到 A 以获得我的值。 我分配了
int A = 1234234233;
int B = 323444;
double C;
A = 1234;
B = 323444;
C = A + (B/ 1000000);
printf("%.6f\n", C);
结果我得到 1234234233.000000 。它舍入了我的 C,我不想要这样,因为我想要 1234234233.323444
我该如何解决这个问题?
最佳答案
尝试这样:
C = A + (B/ 1000000.0);
即,将分母设置为 double ,这样当整数除以整数时,它不会返回像您得到的奇怪结果。
注意:-
- 整数/整数=整数
- 整数/ double = double
- double /整数 = double
- 双/双=双
关于c - 将两个数减为一个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20298103/