java浮点型数据格式的设置疑惑? 浮点型怎么设置小数点后数的位数,如:double a=5.6666;如何让a输出保留两位小数即a=5.67; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主截止到2008-06-18 22:49:52的汇总数据:发帖数:2结贴数:0结贴率: 0.00%如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html 请参见:java.text.DecimalFormat以下是方法:public void setMinimumFractionDigits(int newValue)// 设置某个数的小数部分中所允许的最小数字位数。public void setMaximumFractionDigits(int newValue)// 设置某个数的小数部分中所允许的最大数字位数。public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) 格式化一个 double 值,以生成一个字符串。 指定者: 类 NumberFormat 中的 format 参数: number - 要格式化的 double 值 result - 将文本追加到的地方 fieldPosition - 在输入上:如果需要,是一个对齐字段。在输出上:对齐字段的偏移量。 返回: 已格式化的数字字符串 DecimalFormat fornat = new DecimalFormat("0.##");System.out.println(fornat.format(5.66666)); import java.math.BigDecimal;double dbl = 5.6666;BigDecimal bd = new BigDecimal(String.valueOf(dbl));double scale1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP) .doubleValue();double scale2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP) .doubleValue();double scale3 = bd.setScale(3, BigDecimal.ROUND_HALF_UP) .doubleValue();输出结果非别是scale1:5.7 scale2:5.67scale3:5.667 JDK 5.0+String str = String.format(".2f", 5.6666); JDK 5.0+ 也可以采用 C 语言风格的输出:System.out.printf("%.2f%n", 5.6666); 用java实现子节点到父点的遍历 关于用类名做文件名 JAVA NIO中服务器断开socketChannel的状态问题 鼠标事件!!! 百分求:用JAVA写字符串化简的方法 ArrayList的问题? 请问HASHCODE()这个方法是做什么的?? 菜鸟报道,新手求罩! 关于BigDecimal 高精度数值计算, ! !!!!!!!! 遭烂! 什么玩艺 郁闷啊!!!救救我啊!! 定义局部变量出错!!! 菜鸟问题,(打包安装)
楼主截止到2008-06-18 22:49:52的汇总数据:
发帖数:2
结贴数:0
结贴率: 0.00%
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
以下是方法:
public void setMinimumFractionDigits(int newValue)// 设置某个数的小数部分中所允许的最小数字位数。
public void setMaximumFractionDigits(int newValue)// 设置某个数的小数部分中所允许的最大数字位数。
public StringBuffer format(double number,
StringBuffer result,
FieldPosition fieldPosition)
格式化一个 double 值,以生成一个字符串。 指定者:
类 NumberFormat 中的 format 参数:
number - 要格式化的 double 值
result - 将文本追加到的地方
fieldPosition - 在输入上:如果需要,是一个对齐字段。在输出上:对齐字段的偏移量。
返回:
已格式化的数字字符串
System.out.println(fornat.format(5.66666));
double dbl = 5.6666;BigDecimal bd = new BigDecimal(String.valueOf(dbl));
double scale1 = bd.setScale(1, BigDecimal.ROUND_HALF_UP)
.doubleValue();
double scale2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP)
.doubleValue();
double scale3 = bd.setScale(3, BigDecimal.ROUND_HALF_UP)
.doubleValue();
输出结果非别是
scale1:5.7
scale2:5.67
scale3:5.667