double加d还是不加d

double加d还是不加d

社区

C# 帖子详情 double加d还是不加d zy850919 2010-05-17 01:32:16 默认情况下,赋值运算符右侧的实数被视为 double。但是,如果希望整数被视为 double,请使用后缀 d 或 D,例如:

int x = 9;

double y = 4.4;

var result = x * y;

Console.WriteLine("结果是 {0}", result);

Type type = result.GetType();

Console.WriteLine("结果的类型是: {0}", type.ToString());

int x = 9;

double y = 4.4d;

var result = x * y;

Console.WriteLine("结果是 {0}", result);

Type type = result.GetType();

Console.WriteLine("结果的类型是: {0}", type.ToString());

两段代码输出的一样,那么我就想问,double后面加d还有什么作用呢?

...全文

708 16 打赏 收藏 double加d还是不加d 默认情况下,赋值运算符右侧的实数被视为 double。但是,如果希望整数被视为 double,请使用后缀 d 或 D,例如: int x = 9; double y = 4.4; var result = x * y; Console.WriteLine("结果是 {0}", result); Type type = result.GetType(); Console.WriteLine("结果的类型是: {0}", type.ToString()); int x = 9; double y = 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 16 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 加油馒头 2010-05-17 打赏举报 回复 [Quote=引用 7 楼 zy850919 的回复:]

引用 5 楼 vrhero 的回复:

把 int x = 9; 改成 double x = 9; 就会看到编译错误了...你把那句话的意思理解错了...

我改了:

C# code

double x = 9;

double y = 4.4;

var result = x * y;

……

[/Quote]

类型自动转换 zy850919 2010-05-17 打赏举报 回复 结贴,给分。谢谢vrhero。 whoami333 2010-05-17 打赏举报 回复 好威风的螃蟹。 vrhero 2010-05-17 打赏举报 回复 对...如果不加d后缀,将其作为整型数计算则会舍去小数部分...

double x=9/5;//x=1.0 zy850919 2010-05-17 打赏举报 回复 呵呵,那个写错了

var x = 9 / 5;

Console.WriteLine(x);

Console.WriteLine(x.GetType());

var t = 9d / 5;

Console.WriteLine(t);

Console.WriteLine(t.GetType());

zy850919 2010-05-17 打赏举报 回复 [Quote=引用 8 楼 vrhero 的回复:]

不好意思,我也记错了...不会出错,因为整型数可以隐式转换为双精度浮点数...

应该是这样...

var x = 9 / 5;//x=1,将其作为整数计算

var x = 9d /5;//x=1.8,将其作为双精度浮点数计算

[/Quote]

正解!

我这样是不是更易懂?

var x = 9 / 5;

Console.WriteLine(x,x.GetType());

Console.WriteLine(x.GetType());

var t = 9d / 5;

Console.WriteLine(t);

Console.WriteLine(t.GetType());

hztltgg 2010-05-17 打赏举报 回复 是字面值的类型区别

9 和 9D

在程序里一个是整数表示 00001001 ,一个是 浮点数表示,生成的指令不同吧 wangwenzhuang 2010-05-17 打赏举报 回复 貌似没有什么区别 vrhero 2010-05-17 打赏举报 回复 不好意思,我也记错了...不会出错,因为整型数可以隐式转换为双精度浮点数...

应该是这样...

var x = 9 / 5;//x=1,将其作为整数计算

var x = 9d /5;//x=1.8,将其作为双精度浮点数计算 zy850919 2010-05-17 打赏举报 回复 [Quote=引用 5 楼 vrhero 的回复:]

把 int x = 9; 改成 double x = 9; 就会看到编译错误了...你把那句话的意思理解错了...

[/Quote]

我改了:

double x = 9;

double y = 4.4;

var result = x * y;

Console.WriteLine("结果是 {0}", result);

Type type = result.GetType();

Console.WriteLine("结果的类型是: {0}", type.ToString());

结果和以前的相同,这就是我不解的地方。 zy850919 2010-05-17 打赏举报 回复 [Quote=引用 3 楼 vrhero 的回复:]

C#中带小数的数字默认即为double类型,不必加d后缀...只有要将不带小数的整型数字作为double类型时才需要加d后缀...

[/Quote]

double y = 4d 和double y = 4,貌似在编译器看来是一样的。。。。。 vrhero 2010-05-17 打赏举报 回复 把 int x = 9; 改成 double x = 9; 就会看到编译错误了...你把那句话的意思理解错了... Justin-Liu 2010-05-17 打赏举报 回复 你用整数就看出效果了 vrhero 2010-05-17 打赏举报 回复 C#中带小数的数字默认即为double类型,不必加d后缀...只有要将不带小数的整型数字作为double类型时才需要加d后缀... zy850919 2010-05-17 打赏举报 回复 [Quote=引用 1 楼 starfd 的回复:]

作用就是声明这个数字是double类型,类似的还有f(float)之类的

[/Quote]

那不加的效果也是一样的啊 娃都会打酱油了 2010-05-17 打赏举报 回复 作用就是声明这个数字是double类型,类似的还有f(float)之类的 声明double变量的时候,加d与不加d有什么区别 privatedoublemoneycon=0.0d; privatedoublemoneycon2=0.0; 以上命名变量方式,一个加d,一个不加d,都能通过编译,这两个方法有什么区别, 反正两种方式,书上都有写,就是没有写区别 没有区别,默认就是private double moneycon = 0.0d;

private double moneycon2 = 0.0;

以上命名变量方式, java的Long为啥要加L,Float要加F,而Double不需要加D? 1.整数型和浮点型

java中

整数型有 byte,short,int和long 四种

浮点型有 float,double

2.java接收数字类型的方式

java中默认整数型用int接收,而浮点型用double接收。

3.当数字类型用比它小的数字类型接收时,需要强转,反之不需要

所以,当定义byte,short时,不需要在后面加上b,s,而定义long时,需要加上L,加L的目的就是为了让heap中也创建一块long类型所需要的内存,用来来放数值。区分int和long类型

同理,double不需要 double和Double的区别 double是基本数据类型,Double是原始数据类型

double没有方法,Double有自己的属性和方法

double只创建引用,Double创建对象

集合类不能存放double,只能存放Double

double存放在栈中,Double存放在堆中

栈的存取速度要高于堆,另外栈中的数据可以共享

如:

double a = 0;

double b = 0;

不会创建对象,只会建 Java中float、double、long类型变量赋值添加f、d、L尾缀问题 本文介绍了Java中float、double、long赋值需要添加尾缀的原因,并且说明了什么情况下不需要尾缀,但是建议最好都添加尾缀,防止报错和程序可读性。 java double类型-加减乘除高精度运算 double类型-加减乘除高精度运算

// 进行加法运算

private double add(double v1,double v2){

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(

C#

111,111

社区成员

642,554

社区内容

发帖 与我相关 我的任务 C# .NET技术 C# 复制链接

扫一扫 分享 确定 社区描述 .NET技术 C# 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧

+ 用AI写文章

相关推荐

余华:莫言是怎么当守门员的?
beat365中国

余华:莫言是怎么当守门员的?

🪐 08-28 👁️ 3722
免费的网易云游戏合集
beat365中国

免费的网易云游戏合集

🪐 08-18 👁️ 3525
IDEA设置自动导入包
mobile.allsport365

IDEA设置自动导入包

🪐 08-01 👁️ 5822