C#中计算double a=1/1000;应该结果是0.001,但为什么会变成0呢?好像会把后面的
C#中计算doublea=1/1000;应该结果是0.001,但为什么会变成0呢?好像会把后面的舍掉,有什么办法让它保持原样呢?...
C#中计算double a=1/1000;应该结果是0.001,但为什么会变成0呢?好像会把后面的舍掉,有什么办法让它保持原样呢?
展开
展开全部
using System;
namespace ConsoleApplication1{
class Program{
static void Main(string[] args){
double a = (double)1 / (double)1000; // 将被除数和除数强制转换double
Console.WriteLine("a={0}",a); // 将输出a等于0.001
Console.ReadKey(true);
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个整形运行不会提升到双精度..即使你结果要求双精度,所以只能1/1000.0 1.0/1000 1/1000*1.0 这样来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2个int型相除结果还是int型
分子或分母任意一个改为doubel型就可以了 比如把1改为1.0
或者你在1后面加个f 告诉计算机是doubel型
分子或分母任意一个改为doubel型就可以了 比如把1改为1.0
或者你在1后面加个f 告诉计算机是doubel型
追问
double a=1.6
double b=a/1000
然后要b应该等于0.001,但是这样写等于0,后面的没有了!
追答
double b=Convert.ToDouble(1)/Convert.ToDouble(1000)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询