请教java类型转换问题
从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 精度丢失
请问第一个例子精度没丢失,为什么第二个例子精度丢失了?
楼上正解,使用高精度
支持 bigdecimal
呵呵 这现象确实很奇怪。。关注中。。期待高手解答原因
支持 bigdecimal 每天回帖即可获得10分可用分
UP
这段代码那里不一样啊?
在我机器上试了一下,发现一个规律,最后以为是奇数的话,就可以正确输出,但是最后一位是偶数的时候,输出的结果最后一位数都会小1
期待高手分享原因
bigdecimal
支持 bigdecimal 每天回帖即可获得10分可用分
支持使用bigdecimal
相关问答:
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryTest&n ......
工作需要 求大家帮忙写个程序
我是学C++的 不懂JAVA
编写一个Java应用程序,对于给定的一个字符串的集合,格式如:
{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的 ......
我是个新手,做一个JSP网页,我要读出数据库正常,但是我要修改的时候,也就是读入的时候出现乱码,请高手告诉我怎么解决,先谢谢了。
request.setCharacterEncoding("UTF-8");
把编码统一
/**
......
我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:
package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......