如何使java中double类型不以double保存时不用科学计数法法表示

怎么把float类型含科学计数法的数据转成普通数字_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
怎么把float类型含科学计数法的数据转成普通数字
你可能喜欢如何使java中double类型不以科学计数法表示_百度知道
如何使java中double类型不以科学计数法表示
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
可以使用java.text.DecimalFormat ,格式化数字,比如double a = 2.3659874; //小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入) DecimalFormat df = new DecimalFormat(&0.000&); String num = df.format(a); System.out.println(num); //输出结果就是 2.366体你可以查DecimalFormat的使用方法
采纳率:97%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。如何使java中double类型不以科学计数法表示
1. 数字用BigDecimal表示,然后在输出string
2.对Double类型的数字进行 格式化输出
package com.bky.
import static org.junit.Assert.*;
import java.math.BigD
import java.text.DecimalF
import org.junit.T
public class MyTest {
public void test() {
//1:数字用BigDecimal表示,然后在输出string
String aa = "-4.34E-7";
BigDecimal db = new BigDecimal(aa);
String ii = db.toPlainString();
System.out.println(ii);
//2:对Double类型的数字进行 格式化输出
DecimalFormat df = new DecimalFormat("###############0.#");// 最多保留几位小数,就用几个#,最少位就用0来确定
Double bb = -4.34E-7;
String s = df.format(bb);
System.out.println(s);
public void test01(){
BigDecimal a =new BigDecimal("1.22");
System.out.println("construct with a String value: " + a);
BigDecimal b =new BigDecimal("2.22");
System.out.println("aplus b is : " + a);
a=a.add(b);
System.out.println(a);
System.out.println(0.06+0.01);
以下转载:
BigDecimal aDouble =new BigDecimal(1.22);
System.out.println("construct with a double value: " + aDouble);
BigDecimal aString = new BigDecimal("1.22");
System.out.println("construct with a String value: " + aString);
你认为输出结果会是什么呢?如果你没有认为第一个会输出1.22,那么恭喜你答对了,输出结果如下:
construct with a doublevalue:1.3125
construct with a String value: 1.22
JDK的描述:1、参数类型为double的构造方法的结果有一定的不可预知性。有人可能认为在Java中写入newBigDecimal(0.1)所创建的BigDecimal正好等于 0.1(非标度值 1,其标度为 1),但是它实际上等于0.1015625。这是因为0.1无法准确地表示为 double(或者说对于该情况,不能表示为任何有限长度的二进制小数)。这样,传入到构造方法的值不会正好等于
0.1(虽然表面上等于该值)。
2、另一方面,String 构造方法是完全可预知的:写入 newBigDecimal("0.1") 将创建一个 BigDecimal,它正好等于预期的 0.1。因此,比较而言,通常建议优先使用。
3、当double必须用作BigDecimal的源时,请注意,此构造方法提供了一个准确转换;它不提供与以下操作相同的结果:先使用方法,然后使用构造方法,将double转换为String。要获取该结果,请使用static 方法。
BigDecimal的加,减,乘,除
public BigDecimal add(BigDecimal value);//加法public BigDecimal subtract(BigDecimal value); //减法 public BigDecimal multiply(BigDecimal value); //乘法public BigDecimal divide(BigDecimal value); //除法
public class Arith {
* 提供精确加法计算的add方法
* @param value1 被加数
* @param value2 加数
* @return 两个参数的和
public static double add(double value1,double value2){
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.add(b2).doubleValue();
* 提供精确减法运算的sub方法
* @param value1 被减数
* @param value2 减数
* @return 两个参数的差
public static double sub(double value1,double value2){
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.subtract(b2).doubleValue();
* 提供精确乘法运算的mul方法
* @param value1 被乘数
* @param value2 乘数
* @return 两个参数的积
public static double mul(double value1,double value2){
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.multiply(b2).doubleValue();
* 提供精确的除法运算方法div
* @param value1 被除数
* @param value2 除数
* @param scale 精确范围
* @return 两个参数的商
* @throws IllegalAccessException
public static double div(double value1,double value2,int scale) throws IllegalAccessException{
//如果精确范围小于0,抛出异常信息
if(scale&0){
throw new IllegalAccessException("精确度不能小于0");
BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
return b1.divide(b2, scale).doubleValue();
java double的大数值时,不显示成科学计数法
[JAVA] float,double大数据不要科学计数方法显示
java 不用科学计数法显示Double类型和Long类型
java的double的大数值时 怎么才能不显示成科学计数法
Java Double类型如何不科学计数法显示
在java中,怎样把一个double数转换为字符串时,不用科学计数法表示。
Java设置大数非科学计数法显示
关于double转string出现科学计数法的问题
java取消科学计数法
Java语言中 将double类型不以科学计数法输出
没有更多推荐了,遇到个小问题,double类型转成String的时候,数字一大就会变成科学计数法,写了个小工具,记录一下
import java.text.DecimalF
public class BigDoubleToString
public String doubleToString(double d)
String i = DecimalFormat.getInstance().format(d);
String result = i.replaceAll(",", "");
浏览: 104922 次
点赞!!!简单实用
感谢楼主!按照你的做法成功了!
说得好啊,学习了
来江湖小虾米的博客学习一下,第5条心得写得好!佐佐成你好,佐佐 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'java语言中,double 转字符串 为什么科学计数法?是为了提高效率吗? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。1被浏览80分享邀请回答暂时还没有回答,开始写第一个回答}

我要回帖

更多关于 java科学计数法转double 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信