Java_语法基础_保留指定位数小数

来源:互联网 发布:mac系统word 编辑:程序博客网 时间:2024/05/16 05:00
package test;import java.math.BigDecimal;import java.math.RoundingMode;public class test {/** * 直接抛弃后面多余的位数,可以通过设置RoundingMode的值改变规则,详见JDK API * @param args */public static void main(String[] args) {double number = 123.456;BigDecimal bigDecimal = new BigDecimal(number);//不推荐使用double进行构造,System.out.print(bigDecimal)打印出来为123.4560000000000030695446184836328029632568359375,推荐使用string进行构造double number2 = bigDecimal.setScale(2,RoundingMode.DOWN).doubleValue();System.out.println(number2);}}

输出123.45,后面直接被抛弃


package test;import java.text.DecimalFormat;public class test {/** * 使用DecimalFormat对数字进行格式化,更多用法可以百度 *  * @param args */public static void main(String[] args) {double number = 7.141592654;DecimalFormat decimalFormat = new DecimalFormat("0.00");String string = decimalFormat.format(number);System.out.println(string);}}
输出7.14


package test;public class test {public static void main(String[] args) {double number = 3.1415926;String string = String.format("%.2f", number);System.out.println(string);}}
输出3.14


package test;import java.text.NumberFormat;public class test {/** * 使用NumberFormat,默认四舍五入 *  * @param args */public static void main(String[] args) {double number = 23.5465;NumberFormat numberFormat = NumberFormat.getNumberInstance();numberFormat.setMaximumFractionDigits(2);String string = numberFormat.format(number);System.out.print(string);}}
输出23.55


0 0
原创粉丝点击