锁定老帖子 主题:去掉数字前面多余的0与小数点后多余的0
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-17
yuyujulin 写道 用format, 不是用parse,别乱下结论
NumberFormat的format不是用来把数字转成字符串的吗?数字都超精度了,还怎么搞? |
|
返回顶楼 | |
发表时间:2011-11-17
kidneyball 写道 yuyujulin 写道 用format, 不是用parse,别乱下结论
NumberFormat的format不是用来把数字转成字符串的吗?数字都超精度了,还怎么搞? 数字超精度是Double 或者 Decimal的事情,不是NumberFormat的事情,见我上一个回帖,NumberFormat是用来格式化输出的,不是用来构造Double或者BigDecimal的,NumberFormat的位数可以任意多少为,而且,想你图片里面的那种情况纯粹是钻牛角尖,遇到的几率几乎为0 |
|
返回顶楼 | |
发表时间:2011-11-17
yuyujulin 写道 public static void main(String[] args) {
BigDecimal number = null; number = new BigDecimal( "121212.123001201200123123123"); System.out.println(trimZeroOfNumber(number)); number = new BigDecimal( "000123123"); System.out.println(trimZeroOfNumber(number)); number = new BigDecimal("12121000"); System.out.println(trimZeroOfNumber(number)); number = new BigDecimal("0.0"); System.out.println(trimZeroOfNumber(number)); number = new BigDecimal("0"); System.out.println(trimZeroOfNumber(number)); } public static String trimZeroOfNumber(Object value) { NumberFormat fmt = NumberFormat.getInstance(); fmt.setMaximumFractionDigits(100); fmt.setGroupingUsed(false); return fmt.format(value); } 嗯,测试成功,忘了BigDecimal还有个String的构造器。。。 |
|
返回顶楼 | |
发表时间:2011-11-17
最后修改:2011-11-17
yuyujulin 写道 kidneyball 写道 yuyujulin 写道 用format, 不是用parse,别乱下结论
NumberFormat的format不是用来把数字转成字符串的吗?数字都超精度了,还怎么搞? 数字超精度是Double 或者 Decimal的事情,不是NumberFormat的事情,见我上一个回帖,NumberFormat是用来格式化输出的,不是用来构造Double或者BigDecimal的,NumberFormat的位数可以任意多少为,而且,想你图片里面的那种情况纯粹是钻牛角尖,遇到的几率几乎为0 边界条件不就是转牛角尖转出来的吗?就当写写正则练练手了 我承认错误,忘了BigDecimal还有个String的构造器。。。我知道NumberFormat是用来格式化输出的,但如果一开始不把字符串转换成BigDecimal还是没辙。 |
|
返回顶楼 | |
发表时间:2011-11-18
无聊的东西
|
|
返回顶楼 | |
发表时间:2011-11-18
+1
干点什么不好 Simon.Wang 写道 闲得蛋疼!!!
|
|
返回顶楼 | |
发表时间:2011-11-18
两个循环不就可以了吗
|
|
返回顶楼 | |
发表时间:2011-11-18
这帖还在首页呀,真是被打败了。
把无聊进行到底。。。 |
|
返回顶楼 | |
发表时间:2011-11-19
看看String的trim方法,想办法把' '替换为'0'就可以了。
|
|
返回顶楼 | |
发表时间:2011-11-19
quxiaoyong 写道 看看String的trim方法,想办法把' '替换为'0'就可以了。
问题是,如果字符串里没有小数点,后面的0就不能去掉。如果全部是0,最后结果需要是0,而不是空串。 |
|
返回顶楼 | |