关于类型转换 float型的 amount 和 com 两个变量com = ( float )amount / 0.08;这样还是会报错(精度损失)!!该怎样进行转换呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该这样写:public class Test { public static void main(String[] args) { float com = (float) 5.0, amount = (float) 9.0; com = (float) (amount / 0.08); }} public class Test { public static void main(String[] args) { float com = 5.0f, amount = 9.0f; com = (float) (amount / 0.08); }}这样也行 命令System.out.println(2.0-1.1)将打印0.89999999999999,而不是0.9 主要原因是浮点数值采用二进制系统表示,而二进制系统中无法精确表示分数1/10.就像十进制无法精确表示1/3一样。如果需要在数值计算中不含有任何舍入误差,就应该用BigDecimal类 哎·~忘记了 JAVA 默认是double 类型的~~ 尤其算比较重要的数据,用BigDecimal啊,好办多了 高分求救,java中怎么合并两个文件效率最高,详细描述见内。在线等,急~~~~ SCJP考题:数组 遍历 var-arg mysql JDBC 批量插入大量数据(100w),性能 Java应用程序打包问题 statement类的sql语句怎么用blob类型的参数? 在线等 急急 关于包的一个问题 谁能解释一下useBean中的beanName从文件的具体做法? 请问一下一个Java进程(一个Java.exe)最多可以分配多大的内存,64G? 日期格式转换问题 谁知道JCreator2 Pro的注册码 任意输入一个正整数,输出他的每一位(正序输出) 执行顺序问题
public class Test { public static void main(String[] args) {
float com = (float) 5.0, amount = (float) 9.0;
com = (float) (amount / 0.08);
}}
float com = 5.0f, amount = 9.0f;
com = (float) (amount / 0.08);
}}这样也行
命令System.out.println(2.0-1.1)将打印0.89999999999999,而不是0.9
主要原因是浮点数值采用二进制系统表示,而二进制系统中无法精确表示分数1/10.
就像十进制无法精确表示1/3一样。
如果需要在数值计算中不含有任何舍入误差,就应该用BigDecimal类