C语言,我想设置一个变量num,用来存储某个数据(位数在10位以上),但是不确定数据的类型,如何定义num?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,我想设置一个变量num,用来存储某个数据(位数在10位以上),但是不确定数据的类型,如何定义num?相关的知识,希望对你有一定的参考价值。
存放的数据可能是整数类型(如5000000000),也可能是小数(如942379104.781),我用的_int64 num,只实现了整数的存储,小数怎么办呢?
联合(union)不知符不符合要求union mod
long i;
double f;
然后声明
union mod num;//num为mod类型联合变量
赋值的时候
num.i=100;//整数
num.f=100.23;//小数
联合在同一时间只能存储一个值,也就是说不是小数就是整数;
具体的可以百度一下 参考技术A 因为你存储的类型不确定(可能是整数型或小数型),所以建议使用struct 结构体,
先声明 typedef struct num
double d;
int i;
;
让后直接这样定义就行了
存储double型, num d.d=942379104.781;
存储int型, num i.i=5000000000;
顺便说一下,使用union可能导致数据的覆盖或保留。 参考技术B 可以用字符数组,或者统一转换成浮点型,用double存,整数转浮点可以等值转,浮点转整数可不行。。。。 参考技术C 你就用double类型的呗,这个也是64位的数据类型 参考技术D 浮点也有精度问题,和整数相互转换是有误差的。直接用字符串存储吧
以上是关于C语言,我想设置一个变量num,用来存储某个数据(位数在10位以上),但是不确定数据的类型,如何定义num?的主要内容,如果未能解决你的问题,请参考以下文章