`

【Java】如何保留小数点后x位数字

    博客分类:
  • Java
阅读更多

 

主要可以采用BigDecimal这个东西,我是使用了decimal成功解决了问题

 

1:

(double)(Math.round(result_value*10000)/10000.0)  

 

这样计算可以保留result_value小数点后四位,以此类推,1后面几个零就是保留小数点后几位数. 

 

 

2:

 import java.text.DecimalFormat;  

DecimalFormat df = new DecimalFormat("###.00");  

System.out.println(df.format(double_value));  

 

这样就是保留小数点后两位小数,如果想保留三位,则为 

 

DecimalFormat df = new DecimalFormat("###.000");  

 

 

还推荐有四种方法

Long是长整型,怎么有小数,是double吧

java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");

double d=3.14159;

System.out.println(df.format(d));

java.math.BigDecimal

BigDecimal bd = new BigDecimal("3.14159265");

bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);  

这里面的bd是自定义的变量,即最后取得小数点后若干位的数,2表示小数点后两位

class Test1{

public static void main(String[] args){

double ret = convert(3.14159);

 

System.out.println(ret);

}

 

static double convert(double value){

long l1 = Math.round(value*100); //四舍五入

double ret = l1/100.0; //注意:使用 100.0 而不是 100

return ret;

}

}

double d = 13.4324;

d=((int)(d*100))/100;  

 

 

第二种方法最好

分享到:
评论

相关推荐

    java保留两位小数问题

    ### Java保留两位小数问题详解 在Java编程中,处理数值型数据时,经常会遇到需要对数字进行格式化的需求,尤其是对于浮点数的操作。本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及...

    java(小数点,百分号处理)

    ### Java中的小数点与百分号处理技巧 在Java编程中,经常需要处理数值的格式化显示问题,尤其是在涉及财务、统计分析等场景时。本文将详细介绍如何利用Java中的`java.text.DecimalFormat`和`java.text.NumberFormat...

    Java保留两位小数方法大全

    - `setScale(2, BigDecimal.ROUND_HALF_UP)` 表示将该`BigDecimal`对象的小数点后保留2位,并采用四舍五入的方式处理第三位及以后的数字。 - 最终得到的`double f1`即为保留两位小数的结果。 #### 方法二:使用`...

    java、freemarker保留两位小数

    这将将acc的值保留到小数点后两位,并将其转换为字符串形式。 在Freemarker中保留两位小数可以使用字符串格式化语法,例如: <#if centerFreeSize??> ${centerFreeSize?string("#.##")} <#else> 0.00 其中...

    Java中限制小数位数问题

    在Java编程中,我们经常会遇到需要处理浮点数的情况,特别是当涉及到金融计算、科学计算等对精度有较高要求的领域时,如何有效地控制小数点后保留的位数显得尤为重要。本文将详细介绍在Java中限制小数位数的几种常见...

    真正解决小数点问题

    5. **自定义转换函数**:编写自定义函数来处理数字和字符串的转换,确保始终保留小数点前的零,同时避免不必要的小数点后零。 6. **编程语言特性利用**:某些编程语言如Java有`DecimalFormat`类,Python有`decimal`...

    JavaScript小数点精确计算

    在JavaScript中,所有数字都是以64位的二进制浮点数形式存储的。由于二进制无法精确表示所有十进制小数,因此在转换过程中会出现误差,例如0.1 + 0.2 !== 0.3。这种现象源于二进制和十进制之间的转换问题,以及...

    java使double保留两位小数的多方法 java保留两位小数

    `setMaximumFractionDigits(2)` 设置了小数点后最多显示两位。然后 `ddf1.format(x)` 返回格式化后的字符串。 ### 结论 在Java中,保留double类型数据的两位小数可以通过多种方式进行,包括使用 `BigDecimal` 进行...

    js完美解决jsp文本框限制只能输入数字、小数问题

    特别是在涉及到数值输入时,开发者常常需要限制文本框仅能接受数字或者带有一定数量小数位的数字输入。本文将详细解析一种使用JavaScript(简称JS)的方法来实现这一需求,特别适用于JavaServer Pages (JSP) 环境中...

    浅谈java对象转json,数字精确出现丢失问题

    这个问题主要体现在两个方面:一是超过15位数字的整数会出现精度丢失,二是特别大的数字会以科学记数法的形式展示,导致原始数值无法准确呈现。 首先,我们来看第一个问题,即精度丢失。JavaScript在表示整数时,其...

    Java字符串_日期_数字格式化输出

    ### Java字符串、日期与数字格式化输出详解 #### 一、引言 在Java编程语言中,对数据类型的处理和格式化输出是非常重要的一个环节。无论是处理字符串、日期还是数字,都需要开发者具备一定的技巧和方法来确保数据的...

    JAVA开发招聘考题和答案

    这里的9.8超出了float的精度范围,因为float只能精确到小数点后6位,应该写成float f=9.8f或者float f=(float)9.8,所以D选项错误。 3. 表达式计算:6+5%3+2 的值是9,因为5%3等于2,然后是6+2+2。 4. 获取十位...

    JAVA格式输出,JAVA格式输出

    对于需要处理定点数(带有固定小数点位置的数字)的情况,`BigDecimal`类是理想的选择。它特别适用于财务计算,因为其精度不受浮点数误差的影响。创建一个`BigDecimal`实例: ```java BigDecimal bigDecimal = new ...

    Java基础

    这里也使用了四舍五入技巧,通过乘以10000再除以10000来保留小数点后四位。 3. 练习3检查一个随机整数是否为奇数或偶数,根据结果执行不同的操作。对于奇数,计算平方根并转换为float类型,而对于偶数,计算平方。...

    JAVA实现的计算器源代码

    如`result`用于存储计算结果,`data1`用于存储当前输入的数字,`radixPointDepth`记录小数点后的位数,`radixPointIndicate`表示是否已输入小数点,`prec`存储当前操作符,`resultIndicate`标记是否已有结果待处理。...

    Java课后习题解答

    5. 使用java命令运行编译后的字节码文件。 区分Java应用程序和小应用程序(Applet): - 应用程序:必须在至少一个类中定义main()方法,作为程序的起点。 - 小应用程序:不需定义main()方法,但需要继承Applet类,...

    java基本数据类型练习题.pdf

    对于负数,`>>`会保留符号位,而`>>>`则不会。`(-1 >> 1)`的结果是-64,`(-1 >>> 1)`的结果是2147483647。 7. 方法`methodA`的返回类型`returnType`应该是`double`,因为它包含了一个浮点数除法运算。 8. `(t++)*(--...

    方正国际java笔试 2013.2

    - `float`类型的精度是到小数点后6位,所以`float f = 0.9239;`是正确的。 - `long`类型的取值范围比`int`大,但`2147483648L`超过了`int`的最大值但仍在`long`的范围内,因此`long a = 2147483648L;`是正确的。 ...

    马士兵JAVA笔记(全).docx

    标识符由字母、下划线、美元符、数字组成,但必须以字母、下划线、美元符开头,不能以数字开头。 JAVA中的常量可以分为整型常量、实型常量、字符常量、逻辑常量、字符串常量等。整型常量可以用final关键字表示,...

Global site tag (gtag.js) - Google Analytics