怎样实现1234.5678保留2位小数,并且四舍五入,不四舍五入呢???我试过BigDecimal,但是当1234.555保留2位小数的时候不五入,超过5或者后面还有一位时才会。以下代码也是,当1234.555保留2位小数的时候也不五入。
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
解决方案 »
- Mybatis foreach 问题 Parameter 'item' not found. Available parameters are [list]
- 关于dtree结合dwr做导航树错误 代码如下
- jsp 论坛问题
- 关于hibernate的有关问题
- 一个关于hibernate插入数据的问题。
- servlet如何取得在http中传输的xml数据包?
- logic:iterate显示问题
- servlet問題,救救我!
- 关于petstore-1_3_1_02 DEMO版的一些问题!
- Ejb问题:在statefulbean中要調用一個statelessbean 調用部分怎麽寫?
- js 问题,急,,求高手知道
- 请教:javax.mail.Message接收附件速度问题
public class T {
public static void main(String args[]) {
double str = Math.round(1234.5678f * 100)/100.00 ; System.out.println(str);
}
}输出结果为:
1234.57
double d = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
那这种情况呢。。1234.565四舍五入应该是1234.57的,结果还是1234.56。。
double str = Math.round(1234.565f * 100)/100.00 ;
System.out.println(str);
import java.math.RoundingMode;import org.apache.log4j.Logger;public class Type {
private static Logger logger = Logger.getLogger(Type.class.getName()); /**
* @param args
*/
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal(1234.5678);
//四舍五入
System.out.println(bigDecimal.setScale(2, RoundingMode.HALF_UP).doubleValue());
//直接去尾
System.out.println(bigDecimal.setScale(2, RoundingMode.DOWN).doubleValue());
}
}
public class T {
public static void main(String args[]) {
double str = Math.round(1234.5678 * 100)/100.00 ;
System.out.println(str);
BigDecimal bd = new BigDecimal("1234.565");
double d = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d);
}
}