今天让小数位数的保留问题折磨了半天,自己搞定是搞定,但很不理想,上网查找了一些结合自己的保存起来以便后用:
public static void main(String[] args) {
//方法一:
//保留小数位数,并能四舍五入
DecimalFormat de = new DecimalFormat("0.00");
System.out.println(de.format(52.83252));
//方法二:
//最简单的保留两位小数方法,并能四舍五入
double dou = 0.36854;
dou = Math.round(dou*100);
System.out.println(dou/100);
//方法三:
//BigDecimal --des.setScale()方法里的2,表示保留的小数位数
//第二个参数为也可为 ROUND_HALF_UP
//doubleValue() 保证输入的结果为double类型,也可以有intValue()方法
BigDecimal des = new BigDecimal(0.36584);
des = des.setScale(2, BigDecimal.ROUND_HALF_EVEN);
System.out.println(des.doubleValue());
//如果des.setScale()方法里的第二个参数为ROUND_HALF_UP
des = des.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(des.intValue());
//方法四:
NumberFormat forma = NumberFormat.getIntegerInstance();
forma.setMaximumFractionDigits(2);
System.out.println(forma.format(0.6358));
}
分享到:
相关推荐
Java中Double除保留后小数位的几种方法是指在Java编程语言中,对Double类型数据进行保留小数位的操作。这种操作在实际开发中非常常见,例如在统计成绩、金融计算、科学计算等领域中都需要对Double类型数据进行保留...
2. **保留特定小数位**: 如果知道需要保留的小数位数,可以先将`double`乘以相应的10的幂,然后进行整数转换,再除回相同幂的10,但这只能解决特定场景下的问题。 3. **使用高精度库**: 如果需要处理大量的浮点计算...
在数据库管理中,保留小数位是一个常见的需求...总的来说,数据库中保留小数位是一个涉及数值类型选择、数值处理函数应用以及精度与效率权衡的复杂问题。理解这些概念和技巧,对于确保数据质量及满足业务需求至关重要。
今天在自己做的系统中,发现了一个奇怪的现象:几个Double类型的数据相加,到最后得出的金额比正确数值总是少了几毛钱。以为是程序里的计算方法有问题,可是排查了很... 我们的系统里有保留小数位数为4位,按理是可以
三位数相除时,如果结果可能包含小数,应使用`Double`类型,否则可能导致数据丢失。 2. **运算符**:VB.NET中的除法运算符主要有两种: - `/`:这是标准的除法运算符,用于实数或双精度数的除法,会返回一个浮点数...
`setDoubleScale(Double d, int scale)`方法用于设定一个`double`值的特定小数位数,使用`setScale()`方法进行四舍五入,并返回新的`double`值。 在`main`方法中,代码演示了如何使用这些`BigDecimal`方法来替代...
整型包括`Int`(32位)和`Long`(64位),而浮点型包括`Float`(单精度)和`Double`(双精度)。在四则运算中,数字默认被视为`Double`类型,除非明确声明为其他类型。 **2. 运算符** Kotlin提供了标准的四则运算符...
* * 两个Double数相除,并保留scale位小数 * * @param v1 * @param v2 * @param scale * @return Double */ public static Double div(Double v1, Double v2, int scale) { } /** * 返回指定Double...
- **双精度**(double):64位二进制表示,精度高于float,称为双精度,因为它能表示更多的小数位数。 4. **变量**: - 变量是内存中的一个存储单元,具有名称(标识符)、数据类型和作用域。变量可以分配在栈区...
Java中的`double`类型属于二进制浮点数,它在表示十进制小数时可能会出现精度损失的问题。这是因为某些十进制小数无法用二进制数精确表示,例如`1.1`。当使用`double`类型进行算术计算时,这会导致不可预期的结果。...
例如,一个`int`和一个`double`相除,结果将是`double`类型。取模运算符`%`用于求余数,如`a % b`会返回`a`除以`b`的余数。 了解这些基础概念对于进行Java编程至关重要,它们构成了编写任何Java程序的基础。熟悉...
例如,整数相除的结果会丢弃小数部分,而浮点数相除则保留小数。赋值运算符如`+=`、`-=`等提供了简化的赋值方式。关系运算符(如`>`, `, `==`, `!=`)用于比较两个值,其结果是整数1(表示真)或0(表示假)。逻辑...
- **n**:保留的小数位数。 **返回值**: - 返回值的数据类型为 Decimal。 - 当函数执行成功时,返回 `x` 四舍五入后的小数点后 `n` 位数值。 - 如果参数 `x` 或 `n` 的值为 NULL,则 `Round()` 函数返回 NULL。 -...
这是由于`double`类型无法精确表示所有的小数,尤其是无法精确表示`1.1`这个值,因此在计算过程中产生了近似值。对于货币等需要精确计算的应用场景,使用`double`类型并不合适。推荐使用整数类型(如`int`或`long`)...
`XiaoShuDian` 可能会根据计算结果是否有小数来决定显示的小数位数;而 `JiSuan` 可能用于跟踪当前的计算步骤,尤其是在执行连续计算时。 在Windows 7计算器中,有几种不同的计算模式,包括标准型、科学型、程序员...
- 小数:如`double x = 10.0`。 - 科学记数法:如`double x = 2E3`。 **1.2 常量** - **定义**:常量是在程序运行过程中值不会改变的量。 - **命名规则**: - 必须使用`final`关键字修饰。 - 常量名通常使用...
而double类型占用8个字节,能表示16位有效数字,范围大约是±10^-308到±10^308。 3. 字符型(char):用于存储单个字符,如英文字母、数字或符号。在ASCII编码中,字符型占用1个字节,可以表示0到255的值。 4. 枚举...
* double型:用8个字节存储一个double型数据,可以得到15位有效数字,在C语言中进行浮点数的算数运算时,将float型数据都自动转换为double型然后再运算。 3.2.6 常量的类型 常量的类型可以由其表示形式判定,例如...
- 强制类型转换允许将一种类型转换为另一种类型,如`(int)(3.14)`会丢失小数部分。 理解并熟练掌握这些知识点是学习C语言的基础,通过做相关的习题和解答可以帮助巩固这些概念,并提高编程能力。在编程实践中,...