从double转换为float,精度丢失问题?
package com.xc.util.datecheck; public class Test2 { public static void main(String[] args) {
double s = 22.456789;
System.out.println("##"+Float.parseFloat(String.valueOf(s)));
} }
这个输出是##22.456789 精度没丢失 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ package com.xc.util.datecheck; public class Test2 { public static void main(String[] args) {
double s = 22.234567;
System.out.println("##"+Float.parseFloat(String.valueOf(s)));
} } 这个输出是##22.234568 精度丢失 请问第一个例子精度没丢失,为什么第二个例子精度丢失了?
package com.xc.util.datecheck; public class Test2 { public static void main(String[] args) {
double s = 22.456789;
System.out.println("##"+Float.parseFloat(String.valueOf(s)));
} }
这个输出是##22.456789 精度没丢失 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ package com.xc.util.datecheck; public class Test2 { public static void main(String[] args) {
double s = 22.234567;
System.out.println("##"+Float.parseFloat(String.valueOf(s)));
} } 这个输出是##22.234568 精度丢失 请问第一个例子精度没丢失,为什么第二个例子精度丢失了?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货