java实现数值千分位格式化且保留指定小数位且小数位不进行四舍五入
问题如题,本能解决,但希望能有个更简单明了的方法。举个例子如下:输入一个数值:12345678901.123456;然后通过java后台处理输出结果为:12,345,67...
问题如题,本能解决,但希望能有个更简单明了的方法。 举个例子如下:
输入一个数值:12345678901.123456 ;
然后通过java后台处理输出结果为:12,345,678,901.1234 ; 千分位格式化(整数部分3位采用逗号隔开,小数位保留4位,且最后的还是4而不是由于第五位是5就给进了一位,无需进行四舍五入)。
有待高手解决,如果以上问题能给予具体代码方法解决,能否再度实现一个其余条件不变,保留指定位数能进行四舍五入(12,345,678,901.1235)的简单明了方法。
谢谢!!!
想着能多给点悬赏分,貌似少于用知道,都没什么悬赏分数了,希望能给予帮助解决下问题。万分感谢! 展开
输入一个数值:12345678901.123456 ;
然后通过java后台处理输出结果为:12,345,678,901.1234 ; 千分位格式化(整数部分3位采用逗号隔开,小数位保留4位,且最后的还是4而不是由于第五位是5就给进了一位,无需进行四舍五入)。
有待高手解决,如果以上问题能给予具体代码方法解决,能否再度实现一个其余条件不变,保留指定位数能进行四舍五入(12,345,678,901.1235)的简单明了方法。
谢谢!!!
想着能多给点悬赏分,貌似少于用知道,都没什么悬赏分数了,希望能给予帮助解决下问题。万分感谢! 展开
1个回答
展开全部
保留指定位数能进行四舍五入
public static void main(String[] args) {
String str ="12312323423423.123283123";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.####;(#)");
System.out.println(d1.format(b));
}
不四舍五入的方法
String str ="12312323423423.123283923";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.######");
// 设置舍入模式
d1.setRoundingMode(RoundingMode.FLOOR);
System.out.println(d1.format(b));
public static void main(String[] args) {
String str ="12312323423423.123283123";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//0.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.####;(#)");
System.out.println(d1.format(b));
}
不四舍五入的方法
String str ="12312323423423.123283923";
BigDecimal b = new BigDecimal(str);
//,代表分隔符
//.后面的##代表位数 如果换成0 效果就是位数不足0补齐
DecimalFormat d1 =new DecimalFormat("#,##0.######");
// 设置舍入模式
d1.setRoundingMode(RoundingMode.FLOOR);
System.out.println(d1.format(b));
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询