如何把Java的double类型变量保留两位小数


已知 双精度标量 f,  如果想以字符串形式输出,小数点后保留2位,可直接通过C语言的输出格式,System.out.printf("%.2f", f), 达到目的。

如果想要先转变成小数点后保留2位的双精度变量,然后再输出,可以尝试用 f 作参数,创建一个 BigDecimal 对象 b,再 调用 BigDeciaml 对象的 setScale 方法,以取得另一个 小数点后2位的新对象,最后,通过这个新对象,调用 方法:doubleValue(),  以取得双精度变量 f1. 最后,再输出 f1。

import java.math.*; public class A { public static void main(String args[]) { double f = 111231.558564; System.out.printf("直接将双精度的变量 f, 按C语言的输出格式输出:%.2f\n",f); BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); System.out.println("f1 是小数点后只有两位的双精度类型数据:" + f1); // f1 是双精度类型 } } 

输出是:

直接将双精度的变量 f, 按C语言的输出格式输出:111231.56
f1 是小数点后只有两位的双精度类型数据:111231.56

参考网页:

http://www.jb51.net/article/46010.htm


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM