首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 四舍五入的有关问题-五舍六入

2012-11-21 
java 四舍五入的问题--五舍六入package testimport java.math.BigDecimalimport java.math.MathContext

java 四舍五入的问题--五舍六入

package test;import java.math.BigDecimal;import java.math.MathContext;import java.math.RoundingMode;import java.text.DecimalFormat;public class testFormat {public static void main(String[] args) {//第1种Double dd = 0.125;try {DecimalFormat df = new DecimalFormat("#.##");System.out.println(df.format(dd));} catch (RuntimeException e) {e.printStackTrace();}//第2种MathContext v = new MathContext(2, RoundingMode.HALF_DOWN);BigDecimal a = new BigDecimal("0.875", v);System.out.println(a);//第3种float a1 = 123.2354f;float b = (float) (Math.round(a1 * 100)) / 100;System.out.println(b);//第4种float ft = 134.3445f;int scale = 2;// 设置位数int roundingMode = 4;// 表示四舍五入,可以选择其他舍值方式,例如去尾,等等.BigDecimal bd = new BigDecimal((double) ft);bd = bd.setScale(scale, roundingMode);ft = bd.floatValue();System.out.println(ft);//第5种MathContext v2 = new MathContext(2, RoundingMode.HALF_UP);BigDecimal a2 = new BigDecimal("0.875", v2);System.out.println(a2);}}

第2种方法到是“五舍六入” 是因为传入的参数不对,所以出现“五舍六入” ,四舍五入见第5种方法

热点排行