C# 除法保留有效位数。

如题,C#中inti=10;intj=3;floatm=i/3;而我想得到的结果是m=3.3或是3.33或是3.333,就是取有效位数。... 如题,C#中
int i = 10;
int j = 3;
float m = i/3;
而我想得到的结果是m=3.3或是3.33或是3.333,就是取有效位数。
展开
 我来答
xiangjuan314
2016-01-05 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2895万
展开全部
ROUND()是C#中math的一个成员函数.System.Math.Round(),这个函数有四种用法,最长用的是对小数点位数的舍入.但这和现实生活中的“四舍五入”有一定区别,也有别JAVA中Math.Round(),跟sql中的Math.Round()方法有别.
C#中Math.round()()采用的是所谓“四舍六入五成双”的银行家舍入法---要舍得位如果是5则舍入后末位要求是偶数,要舍得位如果不是五 则按四舍五入处理.
如:
Math.Round(1.2600,2);结果是1.26
Math.Round(1.2460,2);结果是1.25
Math.Round(1.2550,2);结果是1.25
Math.Round(1.2551,2);结果是1.26
Math.Round(1.2560,2);结果是1.26
yzy_130
推荐于2018-04-07 · TA获得超过810个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:492万
展开全部
首先,你的代码有问题
float m = i/3;这句的结果无论如何都是3
应该是float m = (float)i/3;
然后可以用Math.Round()方法来指定小数位数
比如Math.Round(m, 3);返回的就是3.333
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bing6644
2010-10-20 · TA获得超过513个赞
知道小有建树答主
回答量:728
采纳率:0%
帮助的人:355万
展开全部
楼上正解!·~你除法右边得的值没有转换为float。。所以你得到的是整数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫色诗雅0510
2018-04-07
知道答主
回答量:13
采纳率:0%
帮助的人:2.2万
展开全部
我也遇到这问题了,刚想办法解决,下边是调研的方法:
方法1:float m=i/3修改为float m=i/3.0f;
方法2:float m=i/3修改为double m=i/3.0;
我试了下都可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式