用C#怎么判定一个数是整数还是小数?

我的方法是把一个变量定义成float,如下:floata;if(a-(int)a!=0);///这样可以确定是小数;方法2:floata;if(a%1!=0);///这样... 我的方法是把一个变量定义成float,如下:
float a;
if (a - (int)a != 0); ///这样可以确定是小数;
方法2:
float a;
if (a % 1 != 0); ///这样也行;

可是这些方法都不能判定诸如1.0 2.0 之类的小数,请问各位高手有什么好办法....
展开
 我来答
匿名用户
推荐于2018-03-23
展开全部
你说的应该跟程序的界面设计有关吧,你可以这样做。不过沙发说的有道理,的确没有什么意义,取值的确都一样的。我的思路是转化为字符串然后判断:
float a;

......//运算对a赋值

string str_a=Convert.ToString(a);
int dot=str_a.IndexOf(".");
string substr=a.Substring(dot+1);
bool hasnotzerochar=false;//记录是否小数点后存在不为0的字符
for (i=0;i<substr.Length();i++)
{
if (substr[i]!="0")
{
hasnotzerochar=true;
}
}
这样,你只需要判断hasnotzerochar是否为true就可以知道了?对不对?

博客欢迎访问:http://www.mygao.net
创作者wBwqidkfBI
2020-03-04 · TA获得超过3853个赞
知道大有可为答主
回答量:3128
采纳率:34%
帮助的人:447万
展开全部
你说的应该跟程序的界面设计有关吧,你可以这样做。不过沙发说的有道理,的确没有什么意义,取值的确都一样的。我的思路是转化为字符串然后判断:
float
a;
......//运算对a赋值
string
str_a=Convert.ToString(a);
int
dot=str_a.IndexOf(".");
string
substr=a.Substring(dot+1);
bool
hasnotzerochar=false;//记录是否小数点后存在不为0的字符
for
(i=0;i<substr.Length();i++)
{
if
(substr[i]!="0")
{
hasnotzerochar=true;
}
}
这样,你只需要判断hasnotzerochar是否为true就可以知道了?对不对?
博客欢迎访问:http://www.mygao.net
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ad449780c
2006-09-12 · TA获得超过661个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:0
展开全部
你是穷极无聊了想这种问题吧

你定义float a;就已经把数设为小数了
即使你存储的时候 把a设为整数5或者5.0
出来的时候也都是5.0

没什么差别了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
richardbao2000
2006-09-12 · TA获得超过5343个赞
知道大有可为答主
回答量:4457
采纳率:100%
帮助的人:3957万
展开全部
这没法判定,因为对于计算机来说它是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
原风gH
2006-09-12 · 超过29用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:96.2万
展开全部
这个问题无法解决。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式