C#怎样分辨是单精度浮点型还是双精度 比如1.2345E+2这个是长整型 是怎样判断的???
答案:2 悬赏:20
解决时间 2021-03-14 12:32
- 提问者网友:我喜歡係
- 2021-03-13 12:48
C#怎样分辨是单精度浮点型还是双精度 比如1.2345E+2这个是长整型 是怎样判断的???
最佳答案
- 二级知识专家网友:木子香沫兮
- 2021-03-13 13:43
很多时间都不用去刻意了解是哪种类型的,这是因为我们得益于C#的隐式转的!
在C#中用Int32表示是32bits的整数,该类型别称为int,而C#默认数据都是这种情况。
例如 int s = 5;
现在对于s来说,它肯定是int(Int32)的整数型!但我们可以有些时间要分的是5到底是一个什么型的?int的,还是long型的?long其实就是Int64型的!
事实上有long s = 5;按理都不会报错,在这里边5难道是long型么?其实不是!这种形式得益于隐式转换的。事实上相当于long s = (long)5;
但是如果是: long s = 5634635631;这样的语句就会出现错误了!这就是因为5634635631不能被一个int所表示,此时我们可以通过后辍的方式进行说明:
long s = 5634635631L;
后边加上L或其小写形式,则该值就可以表示一个long型整数了!
好么,对于浮点型的,float与double也是相同的,若是float f = 0.0d;这样就会报错的!因为0.0d表示是一个双字节精度的值,而无法隐式转换为float,所以这个就会出现一定的错误提示,如果后边不加d的情况,则完全是可以的!
所以对于1.2345E2实际是一个单精度型的,但如果是单精度无法表示时,则后边加上D就可以了!
在C#中用Int32表示是32bits的整数,该类型别称为int,而C#默认数据都是这种情况。
例如 int s = 5;
现在对于s来说,它肯定是int(Int32)的整数型!但我们可以有些时间要分的是5到底是一个什么型的?int的,还是long型的?long其实就是Int64型的!
事实上有long s = 5;按理都不会报错,在这里边5难道是long型么?其实不是!这种形式得益于隐式转换的。事实上相当于long s = (long)5;
但是如果是: long s = 5634635631;这样的语句就会出现错误了!这就是因为5634635631不能被一个int所表示,此时我们可以通过后辍的方式进行说明:
long s = 5634635631L;
后边加上L或其小写形式,则该值就可以表示一个long型整数了!
好么,对于浮点型的,float与double也是相同的,若是float f = 0.0d;这样就会报错的!因为0.0d表示是一个双字节精度的值,而无法隐式转换为float,所以这个就会出现一定的错误提示,如果后边不加d的情况,则完全是可以的!
所以对于1.2345E2实际是一个单精度型的,但如果是单精度无法表示时,则后边加上D就可以了!
全部回答
- 1楼网友:随心随缘不随便
- 2021-03-13 15:16
你好!
可以使用TryParse方法来判断
double d = 0.0;
if (!double.TryParse("3.1415926", out d)
{
//如果返回false,说明已经超过了这个类型的精度范围
}
如果对你有帮助,望采纳。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |