import java.text.DecimalFormat;
import java.math.BigDecimal;
public class Test_Double{
public static void main(String[] args){
//-----方法1--------四舍五入 round对负数是五舍六入
double d_1 = 123.9;
System.out.println("d_1 = "+Math.round(d_1));
//-------方法2------------------
DecimalFormat decfmt = new DecimalFormat("##0.00");
System.out.println(decfmt.format(1.33482222));
//--------方法3--------------
double x = 1.33345;
java.text.NumberFormat formate = java.text.NumberFormat.getNumberInstance();
formate.setMaximumFractionDigits(3);//设定小数最大为数 ,那么显示的最后会四舍五入的
String m = formate.format(x);
System.out.println(m);
//--------方法4--------------
BigDecimal bd = new BigDecimal(1.234543);
bd = bd.setScale(3,BigDecimal.ROUND_HALF_EVEN);
double d = bd.doubleValue();
System.out.println(d);
//--------取消科学计数法-------------
Double dValue = Double.valueOf("276363652844.8477474");
System.out.println(dValue);
BigDecimal original = new BigDecimal(dValue.doubleValue());
BigDecimal result = original.setScale(2, BigDecimal.ROUND_HALF_DOWN);
String test = result.toString();
System.out.println(test);
}
}
分享到:
相关推荐
### float与double精度详解 #### 一、浮点数的基础概念 在计算机科学中,`float` 和 `double` 是两种常用的浮点数类型,它们主要用于处理实数运算。这两种类型的区别主要体现在精度和范围上。 #### 二、浮点数的...
float和double是两种常用的浮点数类型,它们的范围和精度是由其内部存储格式决定的。了解float和double的范围和精度对于编程和数据处理非常重要。 1. 范围 float和double的范围是由指数的位数来决定的。float的...
浮点数类型float和double是编程语言中最常用的数值类型,但是它们的精度和范围却是程序员需要注意的重要问题。本文将详细解释float和double的范围和精度,及其在商业计算中的应用问题和解决方法。 1. 范围 float和...
综上所述,BigDecimal到Double的转换是一项常用的操作,特别是在处理需要高精度计算的应用程序中。虽然使用doubleValue()方法可以直接完成转换,但是在某些场景下需要注意可能出现的精度损失问题。为了避免这些问题...
1. **使用`Double.toString()`**:在创建`BigDecimal`对象时,使用`Double.toString()`而不是直接使用`double`值,可以避免精度损失。 2. **异常处理**:当提供的`scale`小于0时,应该抛出异常,以防止程序出现错误...
标题中的"hex2double.rar"表明这是一个与十六进制到双精度浮点数转换相关的压缩文件。在IT领域,十六进制(Hexadecimal)是一种常用的数值表示方式,它使用16个符号(0-9及A-F)来代表数字。双精度浮点数(Double ...
float 和 double 是 C 语言和 C# 语言中最常用的浮点类型,它们分别使用单精度和双精度来存储浮点数据。 float 数据占用 32bit,而 double 数据占用 64bit。 在 IEEE 的规范下,float 遵从的是 IEEE R32.24,而 ...
double time_diff = (double)(end.QuadPart - start.QuadPart) / freq.QuadPart; std::cout * 1e6 ; return 0; } ``` 在这个例子中,我们首先获取处理器的频率,然后记录开始和结束时间,最后计算时间差。注意...
double 是最常用的浮点数类型,但它也存在精度损失的问题。 最后,decimal 是 128 位高精度十进制浮点数,具有 28 位有效数字,范围约为 ±1.0 × 10^(-28) 到 ±7.9 × 10^(28)。decimal 类型主要用于财务和货币...
在计算机科学中,单精度(Single Precision)和双精度(Double Precision)是浮点数运算的两种精度标准,主要用于表示和处理小数。这两种精度在数值计算、图形处理、科学计算等领域有着广泛应用。本工具“单双精度...
本文将详细讲解如何将十进制和十六进制数值转换为浮点数(float)和双精度浮点数(double)。 首先,让我们从十进制开始。十进制是我们日常生活中最常用的计数系统,其基数为10。在MATLAB中,我们可以通过直接输入...
6. **double**: 双精度浮点数`double`占用8个字节,提供更高的精度,可以表示大约15位有效数字的数值。 在进行移植和优化代码时,了解这些基本数据类型的大小对于内存管理、计算效率以及兼容性非常重要。例如,在...
在Python中,浮点数(float)是用双精度浮点数(double)表示,占用64位(8字节)内存空间。由于二进制表示的限制,像0.1这样的十进制数在转换为二进制时会变成无限循环小数,而Python只能存储有限的位数,这就会导致...
C语言常用库函数终稿.pdf 本文档对C语言中的数学函数、字符函数和字符串函数进行了总结,详细介绍了每个函数的原型、功能和返回值。 一、数学函数 数学函数是C语言中最基本也是最常用的函数之一。要使用数学函数...
本篇将深入探讨C++中如何进行单精度(float)和双精度(double)浮点数与16进制之间的转换。 首先,我们需要理解浮点数的内部表示。根据IEEE 754标准,单精度浮点数占用32位,其中1位表示符号,8位表示指数,23位...
在 Java 中,浮点数的表示形式有多种,包括 float 和 double 等,但是这些类型在进行计算时会出现精度问题,而 BigDecimal 则可以解决这种问题。本文将主要介绍 Java 中的 BigDecimal 和 double 的示例及相关问题...
- 功能:返回双精度参数`x`的绝对值。 - 示例:`double result = fabs(-3.14); // result == 3.14` - **`long labs(long n)`** - 功能:返回长整型参数`n`的绝对值。 - 示例:`long result = labs(-10L); // ...
在日常生活中,我们通常使用的整数类型(例如 `int`, `long long`)或浮点数类型(例如 `float`, `double`)都有固定的表示范围。然而,在某些应用场景下,比如大数运算、密码学、金融计算等领域,往往需要处理非常...
MSP430支持多种编程语言,其中C语言是最常用的开发工具之一。IAR EW430是一款专为MSP430系列单片机设计的集成开发环境(IDE),提供了强大的编辑、编译和调试功能。 #### 三、实现高精度软件延时的方法 为了实现高...
16. double modf(double val,double *ip):把双精度val分解成整数部分和小数部分。 函数原型:double modf(double val,double *ip); 功能说明:把双精度val分解成整数部分和小数部分。 返回值说明:返回小数部分...