gpt4 book ai didi

c - 错误地打印双数

转载 作者:行者123 更新时间:2023-12-04 08:30:52 24 4
gpt4 key购买 nike

我想写一个代码,如果我输入一个像 612.216 这样的十进制数,我可以将它打印为 612216(实际上是将它转换为整数)。但是,程序将我的号码更改为 2162160000000000000000001 之类的东西,我不知道该怎么办。
这是我的代码:

#include <stdio.h>
#include <math.h>
int main() {

long double x;
scanf_s("%Lf", &x);
while (floor(x)!=x)
x = x * 10;

printf("%Lf", x);

return 0;}

最佳答案

这个怎么样:

#include <stdio.h>
int main() {
double number = 612.216;
char number_as_string[20];
snprintf(number_as_string,"%lf", number);
for(int i = 0; number_as_string[i] != '\0'; i++)
if(number_as_string[i] != '.')
printf("%c", number_as_string[i]);
return 0;
}
缺点是静态分配的数组。您可以使用 snprintf 来转换 doublearray of chars .

关于c - 错误地打印双数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65026826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com