首页 热点资讯 义务教育 高等教育 出国留学 考研考公

java double b = 0.333 , 乘以100 以后小数位变多;

发布网友 发布时间:2022-04-22 19:35

我来回答

3个回答

热心网友 时间:2023-11-17 01:51

double 是双精度类型,也就是说你的d是double,而你的d*100中的100是整形(int)。这是自动类型转换
符合以下条件时java将会做自动类型转换:
(1)转换前的数据类型与转换后的类型兼容。
(2)转换后的数据类型的表示范围比转换前的类型大。
其中double的表示范围比int大,符合条件(2)。因此java会自动将原来为int的类型的变量100转换为double类型。追问多谢回答,采纳时 还没有你的答案。

追答没什么,大家相互学习就好

热心网友 时间:2023-11-17 01:52

这是精度问题,计算机一般的浮点计算都有精度,你就取小数点后几位来就行了

热心网友 时间:2023-11-17 01:52

你可以转下类型
double d = 0.333;
System.out.println((float)(d*100));

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com