请教c#中double类型转化为long类型的方法, 以及对double四舍五入的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教c#中double类型转化为long类型的方法, 以及对double四舍五入的方法相关的知识,希望对你有一定的参考价值。
RT,1.c#中double类型转化为long类型的方法
2.double四舍五入的方法
还有 long的和double的能比较大小么?
long a=1
double b=1.0
if (b>可以比较么
if (b>可以比较么 不可以。。
转换后可以比较,If(bool) 如果两个值都是 1 a>b 结果就是假
a==b 结果就是真
也就是说 它们对比的是值,不是长度,long 和double 是基本数据类型,C#自动分配了最大长度。。本回答被提问者采纳 参考技术B 1.convert();
2.void conv()
//对小数点后第一位进行判断
convert以后应该是能比较的 参考技术C 1.
double a= 1.25;
long b = Convert.ToLong(a);
2.使用Math.Round ()函数
如:
double c = Math.Round(a,1);//保留1 位小数
类型转化方法
1、隐式转化
隐式转化规则:由低到高依次是 int--->long---->long long--->float--->double
若运算中有char short 则一并转化为int
1 #include <stdio.h> 2 3 int main() 4 { 5 char a; short b; int c; 6 long long d; float e; double f; 7 8 printf("sizeof(a)=%d ",sizeof(a));//a占1个字节长度 9 printf("sizeof(b)=%d ",sizeof(b));//b占2个字节长度 10 printf("sizeof(c)=%d ",sizeof(c));//c占4个字节长度 11 12 printf("======================== "); 13 14 printf("sizeof(a+b)=%d ",sizeof(a+b));//a+b占4个字节长度 15 printf("sizeof(a+c)=%d ",sizeof(a+c));//a+c占4个字节长度 16 printf("sizeof(b+c)=%d ",sizeof(b+c));//b+c占4个字节长度 17 18 printf("======================== "); 19 20 printf("sizeof(d)=%d ",sizeof(d));//long long型占8个字节长度 21 printf("sizeof(a+d)=%d ",sizeof(a+d));//char型和long long型一起运算,则提升到long long型,占8个字节长度 22 23 printf("======================== "); 24 25 c=3; e=5.6; 26 printf("%f ",c+e);//int型和float型一起运算,则提升到float型,占4个字节,小数点后保留6位数 27 e=10.0; 28 printf("%f ",e/c);//int型和float型一起运算,则提升到float型,占4个字节,小数点后保留6位数 29 30 printf("======================== "); 31 32 printf("sizeof(a)=%d ",sizeof(a)); 33 printf("sizeof(f)=%d ",sizeof(f));//double型占8个字节 34 35 printf("======================== "); 36 37 printf("sizeof(d+e)=%d ",sizeof(d+e));//long long型和float一起运算,则变成float型,占4个字节 38 printf("sizeof(a+f)=%d ",sizeof(a+f));//char型和double型一起运算,则提升到double型,占8个字节 39 40 41 return 0; 42 }
打印结果:
2、强制转化
格式:( 类型)待转表达式
1 #include <stdio.h> 2 3 int main() 4 { 5 int a=3; int b=10; 6 float c=b/a; 7 printf("%f ",c);//结果是3.000000 8 9 //若我们想得到3.333333的结果的时候 10 11 float d=(float)b/a;//将b从int型转化到float型,则运算结果以float型的小数表示 12 printf("%f ",d); 13 14 return 0; 15 }
打印结果:
3、浮点数跟0值比较
1 #include <stdio.h> 2 3 int main() 4 { 5 double tmp=0.0; 6 if(tmp>-0.000001 && tmp<+0.000001)//与-0.000001和+0.000001比较大小 7 { 8 printf("tep==0 "); 9 } 10 else 11 printf("tep!=0 "); 12 13 return 0; 14 }
打印结果:
以上是关于请教c#中double类型转化为long类型的方法, 以及对double四舍五入的方法的主要内容,如果未能解决你的问题,请参考以下文章
C#如何把INT类型转换为方法参数对应的枚举类型?怎么强制转换?
java中将一个double类型的数强制转换为long 型是四舍五入吗?